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.
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ó