OpenCV библиотека за разпознаване на обекти в изображения и камери

openCV

OpenCV е безплатна библиотека на машинно зрение на различни платформи (съществуващи версии за GNU / Linux, Mac OS X, Windows и Android), която беше първоначално Разработено от Intel и използвано в безброй приложения, от системи за сигурност с откриване на движение, за обработка на контролни приложения, където се изисква разпознаване на обект. Това е така, защото публикуването му се дава под лиценза BSD, което позволява да се използва свободно за търговски и изследователски цели при условията, изразени в него.

Отворете автобиография съдържа повече от 500 функции, обхващащи широк спектър от области в процеса на зрение, като разпознаване на обекти (разпознаване на лица), калибриране на камерата, стерео зрение, роботизирано зрение, класифициране на действия във видео, конвертиране на изображения, извличане на 3D модели, създаване на 3D пространство от изображение на стерео камера, създаване на висококачествени изображения чрез комбиниране на изображения с ниско качество.

Tambien предлага възможност за търсене на изображения на подобни обекти към набора от елементи, представени чрез прилагане на методи за машинно обучение, организиране на маркери, идентифициране на общи елементи в различни изображения, автоматично премахване на дефекти като червени очи.

OpenCV предоставя повече от 2500 алгоритма, както класически, така и отразяващи най-новите постижения в областта на компютърното зрение и системите за машинно обучение. Кодът на библиотеката е написан на C ++ и се разпространява под лиценза BSD.

Относно новата версия OpenCV 4.2

Сега библиотеката е в своята версия на OpenCV 4.2, в който в модула DNN (Дълбока невронна мрежа) с внедряване на алгоритми за машинно обучение, базирани на невронни мрежи, добави бекенд, за да използва CUDA и е внедрена експериментална поддръжка за nGraph OpenVINO API.

В допълнение към използването на инструкции на SIMD, ние оптимизираме производителността на кода за стерео изход (StereoBM / StereoSGBM), преоразмеряваме, маскираме, завъртаме, изчисляваме липсващите цветни компоненти и много други операции.

В модула G-API (opencv_gapi), който действа като двигател за обработка Ефективността на изображенията, използваща графични алгоритми, поддържа по-сложни хибридни алгоритми за компютърно зрение и дълбоко машинно обучение. Осигурява поддръжка на Intel Inference Engine. Добавена е поддръжка за обработка на видео поток към модела за изпълнение.

Бяха коригирани и уязвимости (CVE-2019-5063, CVE-2019-5064), които биха могли да доведат до изпълнение на код за атака чрез обработка на непроверени данни във формати XML, YAML и JSON. Ако по време на разбор на JSON бъде открит символ с нулев код, цялата стойност се копира в буфера, но без правилна проверка на границите на разпределената област на паметта.

От останалите промени представени в тази нова версия:

  • Добавена е многонишкова реализация на функцията pyrDown.
  • Добавена е възможността за извличане на видео потоци от медийни контейнери (демултиране) с помощта на FFmpeg-базирана видео бекенда.
  • Добавен алгоритъм за бързо честотно селективно възстановяване на повредени изображения на FSR (Frequency Selective Reconstruction).
  • Добавен RIC метод за интерполация на типични празни области.
  • Добавен LOGOS метод за нормализиране на отклоненията.

Как да инсталирам OpenCV 4.2?

За тези, които се интересуват от възможността да инсталират тази библиотека, можете да получите новата версия както и да се консултирате с информацията, свързана с използването, и дори да намерите уроци от официалния му уебсайт.

Връзката е тази.

В тази статия Ще предоставим стъпките за внедряване на библиотеката на Raspberry pi.

За да инсталирате OpenCV на Raspberry Pтрябва да имам вашата система, която е Raspbian.

От vЩе отворим терминал и в него ще напишем следните команди за инсталиране на зависимости, инструменти за разработчици, пакети изображения сред други допълнителни библиотеки:

sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libfontconfig1-dev libcairo2-dev libgdk-pixbuf2.0-dev libpango1.0-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev libhdf5-103 libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5

На последно място, Нека инсталираме заглавните файлове на Python 3 за да можем да компилираме OpenCV:

sudo apt-get install python3-dev

Сега нека създадем среда на Python със следните команди, това, за да има изолиран сайт:

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py
sudo rm -rf ~/.cache/pip

Ще инсталираме virtualenv и virtualenvwrapper:

sudo pip install virtualenv virtualenvwrapper
nano ~/.bashrc

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
mkvirtualenv cv -p python3
pip install "picamera[array]"

Готово сега ще компилираме openCV с:

cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip
unzip opencv.zip
unzip opencv_contrib.zip
mv opencv-4.2.0 opencv
mv opencv_contrib-4.2.0 opencv_contrib

Сега ще увеличим суапа в нашата система, тъй като ако го оставим както е по подразбиране, системата може да увисне:

sudo nano /etc/dphys-swapfile

И ние ще редактираме променливата CONF_SWAPSIZE:

CONF_SWAPSIZE=1024

Запазваме и затваряме с ctrl + o и ctrl + x. След това въвеждаме:

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

Сега ще пристъпим към компилация:

workon cv
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D CMAKE_SHARED_LINKER_FLAGS=-latomic \
-D BUILD_EXAMPLES=OFF ..
make -j4
sudo make install
sudo ldconfig
cd /usr/local/lib/python3.7/site-packages/cv2/python-3.7
sudo mv cv2.cpython-37m-arm-linux-gnueabihf.so cv2.so
cd ~/.virtualenvs/cv/lib/python3.7/site-packages/
ln -s /usr/local/lib/python3.7/site-packages/cv2/python-3.7/cv2.so cv2.so

И готово.


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.