OpenCV eng Bibliothéik fir Objekterkennung a Biller a Kameraen

openCV

OpenCV ass eng gratis Bibliothéik vu Plattform Maschinn Visioun (existent Versioune fir GNU / Linux, Mac OS X, Windows an Android) déi ursprénglech waren vun Intel entwéckelt an a villen Uwendunge benotztvu Sécherheetssystemer mat Bewegungserkennung, fir Kontrollapplikatiounen ze veraarbecht wou Objeterkennung erfuerderlech ass. Dëst ass well seng Verëffentlechung ënner der BSD Lizenz gëtt, wat et erlaabt fräi fir kommerziell a Fuerschungszwecker mat de Konditiounen dran ze benotzen.

CV opmaachen enthält méi wéi 500 Funktiounen déi eng breet Palette vu Beräicher am Visiounsprozess decken, sou wéi Objekterkennung (Gesiichtserkennung), Kamera Kalibrierung, Stereo Visioun, Roboter Visioun, Klassifizéierungsaktiounen am Video, Konvertéiert Biller, 3D Modeller extrahéieren, 3D Raum aus engem Stereo Kamera Bild erstallt a qualitativ héichwäerteg Biller erstallt andeems Biller niddereg Qualitéit kombinéiere

Och bitt d'Méiglechkeet no Biller vun ähnlechen Objeten ze sichen op den Ensemble vun Elementer presentéiert mat Maschinnemethodemethoden, Markéierer z'organiséieren, gemeinsam Elementer a verschiddene Biller z'identifizéieren, Mängel wéi rout Aen automatesch eliminéiert.

OpenCV bitt méi wéi 2500 Algorithmen, béid klassesch a reflektiv vun de leschte Leeschtungen am Bereich vun Computersyn a Maschinneléiere Systemer. De Bibliothéikcode gëtt a C ++ geschriwwen an ënner der BSD Lizenz verdeelt.

Iwwer déi nei Versioun OpenCV 4.2

Momentan d'Bibliothéik ass a senger OpenCV 4.2 Versioun, an deem am DNN Modul (Deep Neural Network) mat der Ëmsetzung vu Maschinneléieren Algorithmen baséiert op neurale Netzwierker, e Backend derbäi fir CUDA ze benotzen an experimentell Ënnerstëtzung fir den nGraph OpenVINO API gouf implementéiert.

Niewent der Benotzung vun SIMD Instruktiounen optiméiere mir d'Code Performance fir Stereo Output (StereoBM / StereoSGBM), änneren d'Gréisst, maskéieren, rotéieren, fehlen Faarfkomponenten a vill aner Operatiounen.

Am G-API Modul (opencv_gapi), deen als Motor fir d'Veraarbechtung handelt Bildeffizienz mat Grafikbaséierten Algorithmen, ënnerstëtzt méi komplex Hybrid Algorithmen fir Computersiicht an Deep Machine Learning. Bitt Ënnerstëtzung fir den Intel Inference Engine. Zousätzlech Ënnerstëtzung fir Video Stream Veraarbechtung zum Ausféierungsmodell bäigefüügt.

Schwachlëchkeeten (CVE-2019-5063, CVE-2019-5064) déi zu der Ausféierung vum Attackcode duerch Veraarbechtung vun onverifizéierten Daten an XML-, YAML- a JSON-Formater féiere kënnen, goufen och fixéiert. Wann e Charakter mat engem Null-Tag beim JSON Parsing fonnt gëtt, gëtt de ganze Wäert op de Puffer kopéiert, awer ouni richteg Verifikatioun vun de Grenze vum zougestellte Gedächtnisberäich.

Vun den aneren Ännerungen an dëser neier Versioun presentéiert:

  • Multithreaded Ëmsetzung vun der PyrDown Funktioun bäigefüügt.
  • D'Fäegkeet bäigefüügt fir Video Streams aus Mediecontainer extrahéieren (demuxing) mam FFmpeg-baséiert Video Backend.
  • En Algorithmus derbäi fir séier Frequenz selektiv Rekonstruktioun vu beschiedegt FSR (Frequency Selective Reconstruction) Biller.
  • RIC Method derbäigesat fir d'Interpolatioun vun typeschen eidele Beräicher.
  • LOGOS Deviatioun Normaliséierungsmethod derbäi.

Wéi installéiere mir OpenCV 4.2?

Fir déi interesséiert dës Bibliothéik kënnen ze installéieren, kann déi nei Versioun kréien wéi och d'Informatioun iwwer d'Benotzung consultéieren an och Tutorials vu senger offizieller Websäit fannen.

De Link ass dëst.

An dësem Artikel Mir ginn d'Schrëtt fir d'Bibliothéik op engem Raspberry Pi z'implementéieren.

Fir OpenCV op engem Raspberry P ze installéierenEch muss Äre System hunn, wat Raspbian ass.

Vun der vMir ginn en Terminal op an an et gi mir tippen déi folgend Kommandoen fir Ofhängegkeeten ze installéieren, Entwéckler Tools, Image Packagen ënner anerem extra Bibliothéiken:

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

Endlech Loosst eis d'Python 3 Header Dateien installéieren sou datt mir OpenCV kënne kompiléieren:

sudo apt-get install python3-dev

Elo loosst eis e Python Ëmfeld kreéieren mat folgenden Kommandoen, dëst fir en isoléierte Site ze hunn:

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

Mir installéiere 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]"

Elo gemaach mir ginn openCV mat:

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

Elo wäerte mir de Swap an eisem System erhéijen, well wa mir et loossen wéi et am Standard ass, kann de System hänken:

sudo nano /etc/dphys-swapfile

A mir wäerte d'CONF_SWAPSIZE Variabel änneren:

CONF_SWAPSIZE=1024

Mir späicheren a schloe mat ctrl + o an ctrl + x zou. Dann tippe mir:

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

Elo fuere mir weider ze kompiléieren:

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 prett.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.