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

openCV

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

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

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

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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.