Nyissa meg az OpenCV könyvtárat a képek és kamerák tárgyfelismerésére

nyitott CV

OpenCV egy ingyenes platform a platformokon átívelő gépi látásról (a GNU / Linux, Mac OS X, Windows és Android meglévő verziói) eredetileg az Intel fejlesztette és számtalan alkalmazásban használtaa mozgásérzékeléssel ellátott biztonsági rendszerektől a folyamatvezérlő alkalmazásokig, ahol objektumfelismerés szükséges. Kiadása ugyanis a BSD licenc alapján történik, amely lehetővé teszi, hogy szabadon felhasználják kereskedelmi és kutatási célokra, az abban megfogalmazott feltételekkel.

Nyitott önéletrajz több mint 500 funkciót tartalmaz, amelyek a látási folyamat számos területét lefedik, például tárgyfelismerés (arcfelismerés), kamera kalibrálása, sztereo látás, robotlátás, videók besorolása, képkonvertálás, 3D-s modellek kivonata, 3D-s tér létrehozása sztereó kameraképből, kiváló minőségű képek készítése képek kombinálásával gyenge minőségű.

is lehetőséget kínál hasonló tárgyak képeinek keresésére a gépi tanulási módszerek alkalmazásával, a jelölők rendszerezésével, a közös képek különböző képeken történő azonosításával, a hibák, például a vörös szemek automatikus kiküszöbölésével bemutatott elemek halmazához.

Az OpenCV több mint 2500 algoritmust biztosít, klasszikus és tükrözi a legújabb eredményeket a számítógépes látás és a gépi tanulási rendszerek terén. A könyvtár kódját C ++ nyelven írják és a BSD licenc alatt terjesztik.

Az OpenCV 4.2 új verziójáról

Most a könyvtár az OpenCV 4.2 verziójában van, amiben a DNN modulban (Mély neurális hálózat) a neurális hálózatokon alapuló gépi tanulási algoritmusok megvalósításával, hozzáadott egy háttérprogramot a CUDA használatához és az nGraph OpenVINO API kísérleti támogatása megvalósult.

A SIMD utasítások mellett optimalizáljuk a kód teljesítményét a sztereó kimenethez (StereoBM / StereoSGBM), átméretezzük, elfedjük, elforgatjuk, kiszámoljuk a hiányzó színkomponenseket és sok más műveletet.

A G-API modulban (opencv_gapi), amely motorként működik a feldolgozáshoz hatékony képalkotás grafikus alapú algoritmusokkal, támogatja a komplexebb hibrid algoritmusokat a számítógépes látáshoz és a mély gépi tanuláshoz. Támogatást nyújt az Intel Inference Engine-hez. A végrehajtási modellhez hozzáadta a videofolyam feldolgozásának támogatását.

Javítottuk azokat a biztonsági réseket (CVE-2019-5063, CVE-2019-5064) is, amelyek támadási kód végrehajtásához vezethetnek az ellenőrizetlen adatok XML, YAML és JSON formátumú feldolgozásával. Ha a JSON-elemzés során egy null címkével rendelkező karaktert találunk, akkor a teljes értéket átmásoljuk a pufferbe, de a lefoglalt memóriaterület határainak megfelelő ellenőrzése nélkül.

A többi változás közül ebben az új verzióban:

  • Hozzáadta a pyrDown függvény többszálú megvalósítását.
  • Hozzáadta azt a lehetőséget, hogy az FFmpeg-alapú videó háttérrendszerrel videofolyamokat nyerjen ki médiatárolókból (demuxing).
  • Hozzáadott egy algoritmust a sérült FSR (Frequency Selective Reconstruction) képek gyors frekvenciás szelektív rekonstrukciójához.
  • Hozzáadott RIC módszer a tipikus üres területek interpolációjához.
  • Hozzáadott LOGOS-eltérés normalizálási módszer.

Az OpenCV 4.2 telepítése

Azok számára, akik szeretnék telepíteni ezt a könyvtárat, megszerezheti az új verziót valamint megtekintheti a felhasználással kapcsolatos információkat, és még útmutatásokat is találhat a hivatalos honlapján.

A link ez.

Ebben a cikkben Megadjuk azokat a lépéseket, amelyek lehetővé teszik a könyvtár megvalósítását egy Raspberry pi-n.

Az OpenCV telepítése Raspberry P-rerendelkezem kell a rendszereddel, ami Raspbian.

A vMegnyitunk egy terminált, és benne gépelni fogunk a következő parancsok a függőségek, a fejlesztői eszközök és a képcsomagok telepítéséhez más extra könyvtárak között:

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

Végül, a Telepítsük a Python 3 fejlécfájlokat hogy össze tudjuk állítani az OpenCV-t:

sudo apt-get install python3-dev

Most hozzunk létre egy Python környezetet a következő parancsokkal, egy izolált webhely létrehozása érdekében:

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

Telepíteni fogjuk a virtualenv és a virtualenvwrapper programot:

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]"

Most kész összeállítjuk az openCV-t:

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

Most növelni fogjuk a rendszerünk cseréjét, mivel ha alapértelmezés szerint hagyjuk, akkor a rendszer lefagyhat:

sudo nano /etc/dphys-swapfile

És szerkeszteni fogjuk a CONF_SWAPSIZE változót:

CONF_SWAPSIZE=1024

Mentünk és bezárunk a ctrl + o és a ctrl + x billentyűkombinációkkal. Ezután beírjuk:

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

Most folytatjuk az összeállítást:

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

És kész.


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.