OpenCV perpustakaan kanggo pangenalan obyek ing gambar lan kamera

mbukakCV

OpenCV minangka perpustakaan gratis visi mesin lintas platform (versi sing ana kanggo GNU / Linux, Mac OS X, Windows lan Android) sing asline dikembangake dening Intel lan digunakake ing aplikasi sing ora kaetungSaka sistem keamanan kanthi deteksi gerakan kanggo ngolah aplikasi kontrol sing dibutuhake pangenalan obyek. Iki amarga terbitane diwenehi lisensi BSD, sing ngidini bisa digunakake kanthi bebas kanggo tujuan komersial lan riset kanthi kahanan sing ditulis.

Bukak CV ngemot luwih saka 500 fungsi sing nyakup macem-macem area ing proses sesanti, kayata pangenalan obyek (pangenalan wajah), kalibrasi kamera, sesanti stereo, sesanti robot, ngelasake tumindak ing video, ngonversi gambar, ngekstrak model 3D, nggawe ruang 3D saka gambar kamera stereo sing nggawe gambar bermutu kanthi nggabungake gambar kualitas kurang.

Tambien nawakake kemampuan kanggo nggoleki gambar obyek sing padha menyang elemen sing ditampilake kanthi ngetrapake metode pembelajaran mesin, ngatur spidol, ngenali elemen umum ing macem-macem gambar, kanthi otomatis ngilangi cacat kayata mripat abang.

OpenCV nyedhiyakake luwih saka 2500 algoritma, kaloro klasik lan reflektif saka prestasi paling anyar ing bidang visi komputer lan sistem pembelajaran mesin. Kode perpustakaan ditulis ing C ++ lan disebarake ing lisensi BSD.

Babagan versi anyar OpenCV 4.2

Saiki perpustakaan ing versi OpenCV 4.2, ing endi ing modul DNN (Jaringan saraf utama) kanthi implementasi algoritma pembelajaran mesin adhedhasar jaringan saraf, nambahake backend kanggo nggunakake CUDA lan dhukungan eksperimen kanggo nGraph OpenVINO API dileksanakake.

Saliyane nggunakake instruksi SIMD, kita ngoptimalake kinerja kode kanggo output stereo (StereoBM / StereoSGBM), ngowahi ukuran, topeng, muter, ngetung komponen warna sing ilang, lan akeh operasi liyane.

Ing modul G-API (opencv_gapi), sing dadi mesin kanggo diproses Efisiensi gambar nggunakake algoritma adhedhasar grafis, ndhukung algoritma hibrida sing luwih kompleks kanggo visi komputer lan pembelajaran mesin jero. Nyedhiyakake dhukungan kanggo Mesin Inferensi Intel. Ditambahake dhukungan kanggo proses streaming video menyang model eksekusi.

Kerentanan (CVE-2019-5063, CVE-2019-5064) sing bisa nyebabake eksekusi kode serangan kanthi ngolah data sing durung diverifikasi ing format XML, YAML lan JSON uga wis diatasi. Yen karakter kanthi tag batal ditemokake sajrone parsing JSON, kabeh nilai kasebut bakal disalin menyang buffer, nanging tanpa verifikasi sing tepat babagan watesan area memori sing dialokasikan.

Saka pangowahan liyane ditampilake ing versi anyar iki:

  • Nambahake implementasi multithreaded kanggo fungsi pyrDown.
  • Nambahake kemampuan ngekstrak stream video saka kontainer media (demuxing) nggunakake backend video adhedhasar FFmpeg.
  • Nambahake algoritma kanggo rekonstruksi selektif frekuensi cepet gambar FSR (Rekonstruksi Milih Frekuensi) sing rusak.
  • Cara RIC sing ditambahake kanggo interpolasi area kosong sing khas.
  • Cara normalisasi penyimpangan LOGOS sing ditambahake.

Kepiye cara nginstal OpenCV 4.2?

Kanggo sampeyan sing pengin bisa nginstal perpustakaan iki, bisa entuk versi anyar uga takon informasi sing gegandhengan karo panggunaan lan malah nemokake tutorial saka situs web resmi.

Linke yaiku.

Ing artikel iki Kita bakal nyedhiyani langkah-langkah supaya bisa ngetrapake perpustakaan ing Raspberry pi.

Kanggo nginstal OpenCV ing Raspberry Paku kudu duwe sistem sampeyan, yaiku Raspbian.

Saka vKita bakal mbukak terminal lan ing kana kita bakal ngetik printah ing ngisor iki kanggo nginstal dependensi, alat pangembang, paket gambar ing perpustakaan ekstra liyane:

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

Pungkasan, Ayo nginstal file header Python 3 supaya kita bisa nyusun OpenCV:

sudo apt-get install python3-dev

Saiki ayo nggawe lingkungan Python kanthi printah ing ngisor iki, iki supaya bisa duwe situs sing terisolasi:

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

Kita bakal nginstal virtualenv lan 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]"

Rampung saiki kita bakal nyusun openCV karo:

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

Saiki kita bakal nambah pertukaran ing sistem kita amarga yen kita tinggalake kanthi standar, sistem bisa digantung:

sudo nano /etc/dphys-swapfile

Lan kita bakal ngowahi variabel CONF_SWAPSIZE:

CONF_SWAPSIZE=1024

Kita nyimpen lan nutup nganggo ctrl + o lan ctrl + x. Banjur kita ngetik:

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

Saiki kita bakal nerusake nyusun:

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

Lan siyap.


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.