OpenCV perpustakaan untuk pengecaman objek dalam gambar dan kamera

bukaCV

OpenCV adalah perpustakaan percuma visi mesin lintas platform (versi sedia ada untuk GNU / Linux, Mac OS X, Windows dan Android) yang pada asalnya Dibangunkan oleh Intel dan digunakan dalam aplikasi yang tidak terkira banyaknya, dari sistem keselamatan dengan pengesanan gerakan, hingga memproses aplikasi kontrol di mana pengenalan objek diperlukan. Ini kerana penerbitannya diberikan di bawah lesen BSD, yang memungkinkannya digunakan secara bebas untuk tujuan komersial dan penyelidikan dengan syarat yang dinyatakan di dalamnya.

Buka CV mengandungi lebih dari 500 fungsi yang meliputi berbagai bidang dalam proses penglihatan, seperti pengecaman objek (pengecaman wajah), penentukuran kamera, penglihatan stereo, penglihatan robotik, mengklasifikasikan tindakan dalam video, menukar gambar, mengekstrak model 3D, mewujudkan ruang 3D dari gambar kamera stereo membuat gambar berkualiti tinggi dengan menggabungkan gambar kualiti rendah.

Juga menawarkan keupayaan untuk mencari gambar objek serupa kepada kumpulan elemen yang ditunjukkan dengan menerapkan kaedah pembelajaran mesin, mengatur penanda, mengenal pasti elemen umum dalam gambar yang berbeza, secara automatik menghilangkan kecacatan seperti mata merah.

OpenCV menyediakan lebih daripada 2500 algoritma, baik klasik dan mencerminkan pencapaian terkini dalam bidang visi komputer dan sistem pembelajaran mesin. Kod perpustakaan ditulis dalam C ++ dan diedarkan di bawah lesen BSD.

Mengenai versi baru OpenCV 4.2

Sekarang perpustakaan terdapat dalam versi OpenCV 4.2nya, di mana dalam modul DNN (Jaringan neural mendalam) dengan pelaksanaan algoritma pembelajaran mesin berdasarkan jaringan saraf, menambahkan backend untuk menggunakan CUDA dan sokongan eksperimen untuk API nGraph OpenVINO telah dilaksanakan.

Selain menggunakan arahan SIMD, kami mengoptimumkan prestasi kod untuk output stereo (StereoBM / StereoSGBM), mengubah saiz, menutup, memutar, mengira komponen warna yang hilang, dan banyak operasi lain.

Dalam modul G-API (opencv_gapi), yang bertindak sebagai enjin untuk diproses pengimejan yang cekap menggunakan algoritma berasaskan grafik, menyokong algoritma hibrid yang lebih kompleks untuk penglihatan komputer dan pembelajaran mesin mendalam. Memberi sokongan untuk Intel Inference Engine. Sokongan untuk pemprosesan aliran video ditambahkan ke model pelaksanaan.

Kerentanan (CVE-2019-5063, CVE-2019-5064) yang dapat menyebabkan pelaksanaan kod serangan dengan memproses data yang tidak diverifikasi dalam format XML, YAML dan JSON juga diperbaiki. Sekiranya watak dengan kod nol ditemui semasa penguraian JSON, keseluruhan nilai disalin ke penyangga, tetapi tanpa pengesahan yang betul mengenai had kawasan memori yang diperuntukkan.

Daripada perubahan yang lain dibentangkan dalam versi baru ini:

  • Menambah pelaksanaan multithreaded fungsi pyrDown.
  • Menambah keupayaan untuk mengekstrak aliran video dari bekas media (demuxing) menggunakan backend video berasaskan FFmpeg.
  • Menambah algoritma untuk rekonstruksi selektif frekuensi pantas gambar FSR (Frequency Selective Reconstruction) yang rosak.
  • Menambah kaedah RIC untuk interpolasi kawasan kosong khas.
  • Menambah kaedah normalisasi penyimpangan LOGOS.

Bagaimana memasang OpenCV 4.2?

Bagi mereka yang berminat untuk memasang perpustakaan ini, boleh dapatkan versi baru serta berunding dengan maklumat yang berkaitan dengan penggunaan dan bahkan mencari tutorial dari laman web rasminya.

Pautan ini.

Dalam artikel ini Kami akan memberikan langkah-langkah untuk dapat melaksanakan perpustakaan pada Raspberry pi.

Untuk memasang OpenCV pada Raspberry Psaya mesti mempunyai sistem anda, iaitu Raspbian.

Daripada vKami akan membuka terminal dan di dalamnya kami akan menaip arahan berikut untuk memasang pergantungan, alat pembangun, pakej gambar di antara perpustakaan tambahan lain:

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

Akhirnya, mari kita pasang fail header python 3 supaya kita dapat menyusun OpenCV:

sudo apt-get install python3-dev

Sekarang mari buat persekitaran Python dengan perintah berikut, ini untuk mempunyai laman web terpencil:

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

Kami akan memasang virtualenv dan 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]"

Selesai sekarang kami akan menyusun openCV dengan:

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

Sekarang kita akan meningkatkan pertukaran sistem kita kerana jika kita membiarkannya seperti biasa, sistem dapat menggantung:

sudo nano /etc/dphys-swapfile

Dan kami akan mengedit pembolehubah CONF_SWAPSIZE:

CONF_SWAPSIZE=1024

Kami menyimpan dan menutup dengan ctrl + o dan ctrl + x. Kemudian kami taip:

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

Sekarang kita akan terus menyusun:

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

Dan bersedia.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.