ОпенЦВ библиотека за препознавање објеката на сликама и камерама

опенЦВ

ОпенЦВ је бесплатна библиотека машинског вида на више платформи (постојеће верзије за ГНУ / Линук, Мац ОС Кс, Виндовс и Андроид) која је првобитно била развио Интел и користи у безброј апликацијаод сигурносних система са детекцијом покрета, до обраде контролних апликација тамо где је потребно препознавање објеката. То је зато што је његово објављивање дато под БСД лиценцом, што омогућава да се слободно користи у комерцијалне и истраживачке сврхе, уз услове изражене у њему.

Отвори ЦВ садржи више од 500 функција које покривају широк спектар подручја у процесу вида, као што су препознавање предмета (препознавање лица), калибрација камере, стерео вид, роботски вид, класификовање радњи у видео запису, претварање слика, извлачење 3Д модела, стварање 3Д простора од слике стерео камере стварајући слике високог квалитета комбиновањем слика ниског квалитета.

Такође нуди могућност претраживања слика сличних предмета на скуп елемената представљених применом метода машинског учења, организовањем маркера, идентификовањем заједничких елемената на различитим сликама, аутоматским уклањањем недостатака као што су црвене очи.

ОпенЦВ пружа више од 2500 алгоритама, и класичан и одраз најновијих достигнућа у области рачунарског вида и система за машинско учење. Шифра библиотеке написана је на језику Ц ++ и дистрибуира се под БСД лиценцом.

О новој верзији ОпенЦВ 4.2

Сада библиотека је у својој верзији ОпенЦВ 4.2, у којима у ДНН модулу (Дубока неуронска мрежа) са применом алгоритама машинског учења заснованих на неуронским мрежама, је додао позадину да би користио ЦУДА и примењена је експериментална подршка за нГрапх ОпенВИНО АПИ.

Поред коришћења СИМД упутстава, оптимизујемо перформансе кода за стерео излаз (СтереоБМ / СтереоСГБМ), мењамо величину, маскирамо, ротирамо, израчунавамо недостајуће компоненте боје и многе друге операције.

У модулу Г-АПИ (опенцв_гапи), који делује као мотор за обраду ефикасно сликање помоћу алгоритама заснованих на графици, подржава сложеније хибридне алгоритме за рачунарски вид и дубоко машинско учење. Пружа подршку за Интел Инференце Енгине. Додата је подршка за обраду видео токова изведбеном моделу.

Такође су отклоњене рањивости (ЦВЕ-2019-5063, ЦВЕ-2019-5064) које би могле довести до извршења нападачког кода обрађивањем непроверених података у КСМЛ, ИАМЛ и ЈСОН форматима. Ако се током рашчлањивања ЈСОН-а пронађе знак са нултог кода, цела вредност се копира у међуспремник, али без одговарајуће провере ограничења додељеног подручја меморије.

Од осталих промена представљени у овој новој верзији:

  • Додата је вишенитна имплементација функције пирДовн.
  • Додата је могућност издвајања видео токова из медијских контејнера (демукинг) помоћу видео позадине засноване на ФФмпег-у.
  • Додан је алгоритам за брзу селективну реконструкцију оштећених слика ФСР (Фрекуенци Селецтиве Рецонструцтион).
  • Додата је РИЦ метода за интерполацију типичних празних подручја.
  • Додата је ЛОГОС метода нормализације одступања.

Како инсталирати ОпенЦВ 4.2?

За оне који су заинтересовани за могућност инсталирања ове библиотеке, можете добити нову верзију као и да се консултујете са информацијама везаним за употребу, па чак и да пронађете водиче са његове званичне веб странице.

Веза је ово.

У овом чланку Пружићемо кораке како бисмо могли да применимо библиотеку на Распберри пи.

Да бисте инсталирали ОпенЦВ на Распберри П.морам да имам ваш систем, а то је Распбиан.

Из вОтворићемо терминал и у њему ћемо куцати следеће наредбе за инсталирање зависности, алата за програмере, пакета слика међу остале додатне библиотеке:

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

Коначно, Инсталирајмо датотеке заглавља Питхон 3 тако да можемо компајлирати ОпенЦВ:

sudo apt-get install python3-dev

Сада створимо Питхон окружење са следећим наредбама, ово да би се имало изоловано место:

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

Инсталираћемо виртуаленв и виртуаленввраппер:

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]"

Готово сада компајлираћемо опенЦВ са:

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=1024

Сачувамо и затворимо помоћу цтрл + о и цтрл + к. Затим куцамо:

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. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.