OpenCV një bibliotekë për njohjen e objekteve në imazhe dhe kamera

CV e hapur

OpenCV është një bibliotekë falas e vizionit makiner ndër-platformor (versionet ekzistuese për GNU / Linux, Mac OS X, Windows dhe Android) i cili fillimisht ishte zhvilluar nga Intel dhe përdoret në aplikime të panumërtanga sistemet e sigurisë me zbulimin e lëvizjes, për të përpunuar aplikacionet e kontrollit aty ku kërkohet njohja e objektit. Kjo sepse botimi i tij jepet nën licencën BSD, e cila lejon që ajo të përdoret lirshëm për qëllime tregtare dhe kërkimore me kushtet e shprehura në të.

CV e hapur përmban më shumë se 500 funksione që mbulojnë një gamë të gjerë fushash në procesin e vizionit, siç janë njohja e objektit (njohja e fytyrës), kalibrimi i kamerës, shikimi stereo, vizioni robotik, klasifikoni veprimet në video, konvertoni imazhe, nxjerrni modele 3D, krijoni hapësirë ​​3D nga një imazh i kamerës stereo duke krijuar imazhe me cilësi të lartë duke kombinuar imazhe me cilësi të ulët.

edhe ofron aftësinë për të kërkuar imazhe të objekteve të ngjashme tek grupi i elementeve të paraqitur duke aplikuar metoda të të mësuarit në makinë, duke organizuar shënjues, duke identifikuar elementë të përbashkët në imazhe të ndryshme, duke eliminuar automatikisht defektet siç janë sytë e kuq.

OpenCV ofron më shumë se 2500 algoritme, klasike dhe reflektuese të arritjeve më të fundit në fushën e vizionit kompjuterik dhe sistemeve të të mësuarit makinerik. Kodi i bibliotekës është shkruar në C ++ dhe shpërndahet nën licencën BSD.

Rreth versionit të ri OpenCV 4.2

Tani biblioteka është në versionin e saj OpenCV 4.2, në të cilën në modulin DNN (Rrjeti i thellë nervor) me zbatimin e algoritmeve të të mësuarit makinerik bazuar në rrjetet nervore, shtoi një backend për të përdorur CUDA dhe u zbatua mbështetja eksperimentale për nGraph OpenVINO API.

Përveç përdorimit të udhëzimeve SIMD, ne optimizojmë performancën e kodit për daljen stereo (StereoBM / StereoSGBM), ndryshojmë madhësinë, maskojmë, rrotullohemi, llogarisim përbërësit e ngjyrave që mungojnë dhe shumë operacione të tjera.

Në modulin G-API (opencv_gapi), i cili vepron si motor për përpunim Efikasiteti i figurës duke përdorur algoritme të bazuara në grafikë, mbështet algoritme më komplekse hibride për vizionin kompjuterik dhe të mësuarit thellë të makinës. Siguron mbështetje për Motorin Intel Inference. Mbështetje e shtuar për përpunimin e transmetimit të videos në modelin e ekzekutimit.

Vulnerabilities (CVE-2019-5063, CVE-2019-5064) që mund të çojnë në ekzekutimin e kodit të sulmit duke përpunuar të dhëna të paverifikuara në formatet XML, YAML dhe JSON u rregulluan gjithashtu. Nëse gjatë analizimit të JSON gjendet një karakter me etiketë null, e gjithë vlera kopjohet në buffer, por pa verifikimin e duhur të kufijve të zonës së caktuar të kujtesës.

Nga ndryshimet e tjera paraqitur në këtë version të ri:

  • Zbatim shumë-fije i shtuar i funksionit pyrDown.
  • Addedshtë shtuar aftësia për të nxjerrë rrjedhat e videove nga kontejnerët mediatikë (zbërthyer) duke përdorur prapavijën e videos të bazuar në FFmpeg.
  • Shtuar një algoritëm për rindërtimin selektiv me frekuencë të shpejtë të imazheve të dëmtuara FSR (Rindërtimi selektiv i frekuencës).
  • Addedshtë shtuar metoda RIC për ndërfutjen e zonave tipike bosh.
  • Shtuar metodën e normalizimit të devijimit LOGOS.

Si të instaloni OpenCV 4.2?

Për ata që janë të interesuar të mund të instalojnë këtë bibliotekë, mund të merrni versionin e ri si dhe të konsultoheni me informacionin në lidhje me përdorimin dhe madje të gjeni udhëzime nga faqja e saj zyrtare.

Lidhja është kjo.

Në këtë artikull Ne do të sigurojmë hapat për të qenë në gjendje të implementojmë bibliotekën në një Raspberry pi.

Për të instaluar OpenCV në një Raspberry PUnë duhet të kem sistemin tuaj, i cili është Raspbian.

Nga vNe do të hapim një terminal dhe në të do të shtypim komandat e mëposhtme për të instaluar varësi, mjete zhvilluesi, paketa imazhe midis bibliotekave të tjera shtesë:

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

Së fundi, Le të instalojmë skedarët e kokave Python 3 në mënyrë që të mund të përpilojmë OpenCV:

sudo apt-get install python3-dev

tani le të krijojmë një mjedis Python me komandat e mëposhtme, kjo në mënyrë që të keni një vend të izoluar:

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

Ne do të instalojmë virtualenv dhe 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]"

Bërë këtë tani ne do të përpilojmë openCV me:

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

Tani ne do të rrisim swap-in në sistemin tonë pasi që nëse e lëmë ashtu siç është, sistemi mund të varet:

sudo nano /etc/dphys-swapfile

Dhe ne do të ndryshojmë ndryshoren CONF_SWAPSIZE:

CONF_SWAPSIZE=1024

Ruajmë dhe mbyllim me ctrl + o dhe ctrl + x. Pastaj shtypim:

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

Tani do të vazhdojmë të përpilojmë:

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

Dhe gati.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.