OpenCV je knižnica na rozpoznávanie objektov na obrázkoch a fotoaparátoch

openCV

OpenCV je bezplatná knižnica strojového videnia pre rôzne platformy (existujúce verzie pre GNU / Linux, Mac OS X, Windows a Android), ktorý bol pôvodne Vyvinutý spoločnosťou Intel a používaný v nespočetných aplikáciách, od bezpečnostných systémov s detekciou pohybu až po aplikácie na riadenie procesov, kde sa vyžaduje rozpoznávanie objektov. Je to tak preto, lebo jeho uverejnenie je dané licenciou BSD, ktorá umožňuje jej voľné použitie na komerčné a výskumné účely za podmienok v nej uvedených.

Otvorený životopis obsahuje viac ako 500 funkcií pokrývajúcich širokú škálu oblastí v procese videnia, ako je rozpoznávanie objektov (rozpoznávanie tváre), kalibrácia kamery, stereofónne videnie, robotické videnie, klasifikácia akcií vo videu, konverzia obrázkov, extrakcia 3D modelov, vytváranie 3D priestoru z obrazu stereokamery, vytváranie vysokokvalitných obrázkov kombináciou obrázkov nízka kvalita.

tiež ponúka možnosť vyhľadávať obrázky podobných objektov na množinu prvkov prezentovanú použitím metód strojového učenia, usporiadaním značiek, identifikáciou spoločných prvkov v rôznych obrázkoch, automatickým odstránením chýb, ako sú napríklad červené oči.

OpenCV poskytuje viac ako 2500 XNUMX algoritmov, sú klasické a odrážajú najnovšie výsledky v oblasti systémov počítačového videnia a strojového učenia. Kód knižnice je napísaný v jazyku C ++ a distribuovaný na základe licencie BSD.

O novej verzii OpenCV 4.2

Teraz knižnica je vo verzii OpenCV 4.2, v ktorom v module DNN (Deep neuron network) s implementáciou algoritmov strojového učenia založených na neurónových sieťach, pridal backend na použitie CUDA a bola implementovaná experimentálna podpora pre nGraph OpenVINO API.

Okrem použitia pokynov SIMD optimalizujeme výkon kódu pre stereofónny výstup (StereoBM / StereoSGBM), meníme veľkosť, maskujeme, otáčame, počítame chýbajúce farebné komponenty a mnoho ďalších operácií.

V module G-API (opencv_gapi), ktorý funguje ako motor na spracovanie efektívne zobrazovanie pomocou grafických algoritmov, podporuje zložitejšie hybridné algoritmy pre počítačové videnie a hlboké strojové učenie. Poskytuje podporu pre Intel Inference Engine. Do modelu spustenia bola pridaná podpora pre spracovanie video streamu.

Boli tiež opravené chyby zabezpečenia (CVE-2019-5063, CVE-2019-5064), ktoré mohli viesť k vykonaniu útočného kódu spracovaním neoverených údajov vo formátoch XML, YAML a JSON. Ak sa počas syntaktickej analýzy JSON nájde znak s nulovým kódom, celá hodnota sa skopíruje do medzipamäte, ale bez náležitého overenia limitov oblasti pridelenej pamäte.

Z ďalších zmien predstavené v tejto novej verzii:

  • Pridaná viacvláknová implementácia funkcie pyrDown.
  • Pridaná možnosť extrahovať videostreamy z mediálnych kontajnerov (demuxing) pomocou videozáznamu založeného na FFmpeg.
  • Bol pridaný algoritmus na rýchlu frekvenčnú selektívnu rekonštrukciu poškodených obrázkov FSR (Frequency Selective Reconstruction).
  • Pridaná metóda RIC pre interpoláciu typických prázdnych oblastí.
  • Pridaná metóda normalizácie odchýlky LOGOS.

Ako nainštalovať OpenCV 4.2?

Pre tých, ktorí majú záujem o inštaláciu tejto knižnice, môžete získať novú verziu a tiež si prečítajte informácie týkajúce sa použitia a dokonca si vyhľadajte návody z jeho oficiálnych webových stránok.

Odkaz je tento.

V tomto článku Poskytneme kroky, aby sme mohli implementovať knižnicu na Raspberry pi.

Inštalácia OpenCV na Raspberry PMusím mať váš systém, ktorý je Raspbian.

Z vIdeme otvoriť terminál a v ňom budeme písať na stroji nasledujúce príkazy na inštaláciu závislostí, vývojárske nástroje, balíky obrázkov a ďalšie knižnice:

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

konečne, Poďme nainštalovať hlavičkové súbory pythonu 3 aby sme mohli zostaviť OpenCV:

sudo apt-get install python3-dev

Teraz vytvorme prostredie Pythonu s nasledujúcimi príkazmi, aby sme vytvorili izolovaný web:

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

Chystáme sa nainštalovať virtualenv a 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]"

Hotovo ideme kompilovať openCV s:

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

Teraz zvýšime swap v našom systéme, pretože ak to necháme tak, ako je, predvolene to môže systém visieť:

sudo nano /etc/dphys-swapfile

A budeme upravovať premennú CONF_SWAPSIZE:

CONF_SWAPSIZE=1024

Uložíme a zatvoríme pomocou ctrl + o a ctrl + x. Potom napíšeme:

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

Teraz pokračujeme v kompilácii:

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

A pripravený.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.