OpenCV bibliotēka objektu atpazīšanai attēlos un kamerās

atvērt CV

OpenCV ir bezmaksas starpplatformu mašīnu redzamības bibliotēka (esošās GNU / Linux, Mac OS X, Windows un Android versijas), kas sākotnēji bija Intel izstrādāts un izmantots neskaitāmās lietojumprogrammāssākot no drošības sistēmām ar kustības noteikšanu, līdz procesa vadības lietojumprogrammām, kur nepieciešama objektu atpazīšana. Tas ir tāpēc, ka tā tiek publicēta saskaņā ar BSD licenci, kas ļauj to brīvi izmantot komerciāliem un pētniecības mērķiem ar tajā izteiktajiem nosacījumiem.

Atklāts CV satur vairāk nekā 500 funkcijas, kas aptver plašu redzes procesa jomu diapazonu, piemēram, objektu atpazīšana (sejas atpazīšana), kameras kalibrēšana, stereo redze, robots redzējums, darbību klasificēšana video, attēlu pārveidošana, 3D modeļu iegūšana, 3D telpas izveide no stereo kameras attēla, augstas kvalitātes attēlu izveidošana, apvienojot attēlus ar zemu kvalitāti.

Arī piedāvā iespēju meklēt līdzīgu objektu attēlus elementu kopai, kas tiek parādīta, izmantojot mašīnmācīšanās metodes, organizējot marķierus, identificējot kopīgus elementus dažādos attēlos, automātiski novēršot tādus defektus kā sarkanas acis.

OpenCV nodrošina vairāk nekā 2500 algoritmus, gan klasisks, gan atspoguļo jaunākos sasniegumus datoru redzes un mašīnmācīšanās sistēmu jomā. Bibliotēkas kods ir rakstīts C ++ un izplatīts ar BSD licenci.

Par jauno versiju OpenCV 4.2

Tagad bibliotēka ir tās OpenCV 4.2 versijā, kurā DNN modulī (Dziļais neironu tīkls), izmantojot mašīnmācīšanās algoritmus, kuru pamatā ir neironu tīkli, pievienoja aizmuguri, lai izmantotu CUDA un tika ieviests eksperimentāls atbalsts nGraph OpenVINO API.

Papildus SIMD instrukciju izmantošanai mēs optimizējam koda veiktspēju stereo izejai (StereoBM / StereoSGBM), mainām izmērus, maskējam, pagriežam, aprēķinām trūkstošās krāsu sastāvdaļas un veicam daudzas citas darbības.

G-API modulī (opencv_gapi), kas darbojas kā dzinējs apstrādei efektīva attēlveidošana, izmantojot uz grafikas balstītus algoritmus, atbalsta sarežģītākus hibrīdus algoritmus datora redzēšanai un dziļai mašīnmācībai. Nodrošina atbalstu Intel secinājumu motoram. Izpildes modelim pievienots atbalsts video straumes apstrādei.

Tika novērstas arī ievainojamības (CVE-2019-5063, CVE-2019-5064), kas varētu izraisīt uzbrukuma koda izpildi, neapstrādātus datus apstrādājot XML, YAML un JSON formātos. Ja JSON parsēšanas laikā tiek atrasta rakstzīme ar nulles kodu, visa vērtība tiek kopēta buferī, taču pienācīgi nepārbaudot piešķirtās atmiņas zonas robežas.

No pārējām izmaiņām šajā jaunajā versijā:

  • Pievienota daudzpavedienu funkcijas pyrDown ieviešana.
  • Pievienota iespēja izvilkt video straumes no multivides konteineriem (demuxing), izmantojot FFmpeg balstītu video aizmuguri.
  • Pievienots algoritms bojātu FSR (Frequency Selective Reconstruction) attēlu ātrai selektīvai rekonstrukcijai.
  • Pievienota RIC metode tipisku tukšu laukumu interpolācijai.
  • Pievienota LOGOS noviržu normalizācijas metode.

Kā instalēt OpenCV 4.2?

Tiem, kurus interesē iespēja instalēt šo bibliotēku, var iegūt jauno versiju kā arī iepazīties ar informāciju, kas saistīta ar lietošanu, un pat atrast oficiālās vietnes apmācības.

Saite ir šī.

Šajā rakstā Mēs nodrošināsim soļus, lai bibliotēku varētu ieviest uz Aveņu pi.

Lai instalētu OpenCV uz Raspberry Pman ir jābūt jūsu sistēmai, kas ir Raspbian.

No vMēs atvērsim termināli un tajā rakstīsim šādas komandas, lai instalētu atkarības, izstrādātāja rīkus, attēlu paketes starp citām papildu bibliotēkām:

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

Visbeidzot, instalēsim Python 3 galvenes failus lai mēs varētu apkopot OpenCV:

sudo apt-get install python3-dev

Tagad izveidosim Python vidi ar šādām komandām, lai iegūtu izolētu vietni:

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

Mēs gatavojamies instalēt virtualenv un 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]"

Tagad tas izdarīts mēs sastādīsim openCV ar:

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

Tagad mēs palielināsim mijmaiņas darījumu mūsu sistēmā, jo, ja mēs to atstāsim pēc noklusējuma, sistēma var pakārt:

sudo nano /etc/dphys-swapfile

Mēs rediģēsim mainīgo CONF_SWAPSIZE:

CONF_SWAPSIZE=1024

Mēs saglabājam un aizveram ar ctrl + o un ctrl + x. Tad mēs ierakstām:

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

Tagad mēs turpināsim apkopot:

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

Un gatavs.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.