OpenCV eine Bibliothek zur Objekterkennung in Bildern und Kameras

offener Lebenslauf

OpenCV ist eine kostenlose Bibliothek für plattformübergreifende Bildverarbeitung (vorhandene Versionen für GNU / Linux, Mac OS X, Windows und Android), die ursprünglich war Von Intel entwickelt und in unzähligen Anwendungen eingesetztvon Sicherheitssystemen mit Bewegungserkennung bis hin zu Prozesssteuerungsanwendungen, bei denen eine Objekterkennung erforderlich ist. Dies liegt daran, dass die Veröffentlichung unter der BSD-Lizenz erfolgt, die es ermöglicht, sie unter den darin angegebenen Bedingungen frei für kommerzielle und Forschungszwecke zu verwenden.

Lebenslauf öffnen enthält mehr als 500 Funktionen, die eine Vielzahl von Bereichen des Sehprozesses abdecken. B. Objekterkennung (Gesichtserkennung), Kamerakalibrierung, Stereovision, Robotersicht, Klassifizieren von Aktionen in Videos, Konvertieren von Bildern, Extrahieren von 3D-Modellen, Erstellen eines 3D-Raums aus einem Stereokamerabild, um durch Kombinieren von Bildern qualitativ hochwertige Bilder zu erstellen geringe Qualität.

Auch bietet die Möglichkeit, nach Bildern ähnlicher Objekte zu suchen zu den Elementen, die durch Anwenden von Methoden des maschinellen Lernens, Organisieren von Markern, Identifizieren gemeinsamer Elemente in verschiedenen Bildern und automatisches Beseitigen von Fehlern wie roten Augen dargestellt werden.

OpenCV bietet mehr als 2500 Algorithmen. sowohl klassisch als auch reflektierend für die neuesten Errungenschaften im Bereich Computer Vision und maschinelles Lernen. Der Bibliothekscode ist in C ++ geschrieben und unter der BSD-Lizenz verteilt.

Über die neue Version OpenCV 4.2

Jetzt Die Bibliothek befindet sich in der OpenCV 4.2-Version, in welchem im DNN-Modul (Deep Neural Network) mit der Implementierung von Algorithmen für maschinelles Lernen basierend auf neuronalen Netzen, Ein Backend zur Verwendung von CUDA wurde hinzugefügt und experimentelle Unterstützung für die nGraph OpenVINO API wurde implementiert.

Zusätzlich zur Verwendung von SIMD-Anweisungen optimieren wir die Codeleistung für die Stereoausgabe (StereoBM / StereoSGBM), ändern die Größe, maskieren, drehen, berechnen fehlende Farbkomponenten und viele andere Vorgänge.

Im G-API-Modul (opencv_gapi), welches als Motor für die Verarbeitung fungiert Effiziente Bildgebung mit grafikbasierten Algorithmen, unterstützt komplexere Hybridalgorithmen für Computer Vision und tiefgreifendes maschinelles Lernen. Bietet Unterstützung für die Intel Inference Engine. Unterstützung für die Verarbeitung von Videostreams zum Ausführungsmodell hinzugefügt.

Sicherheitslücken (CVE-2019-5063, CVE-2019-5064), die zur Ausführung von Angriffscode durch Verarbeitung nicht verifizierter Daten in den Formaten XML, YAML und JSON führen konnten, wurden ebenfalls behoben. Wenn während der JSON-Analyse ein Zeichen mit einem Null-Tag gefunden wird, wird der gesamte Wert in den Puffer kopiert, jedoch ohne ordnungsgemäße Überprüfung der Grenzen des zugewiesenen Speicherbereichs.

Von den anderen Änderungen in dieser neuen Version vorgestellt:

  • Multithread-Implementierung der pyrDown-Funktion hinzugefügt.
  • Es wurde die Möglichkeit hinzugefügt, Videostreams mithilfe des FFmpeg-basierten Video-Backends aus Mediencontainern zu extrahieren (Demuxing).
  • Es wurde ein Algorithmus zur schnellen frequenzselektiven Rekonstruktion beschädigter FSR-Bilder (Frequency Selective Reconstruction) hinzugefügt.
  • RIC-Methode zur Interpolation typischer leerer Bereiche hinzugefügt.
  • LOGOS-Abweichungsnormalisierungsmethode hinzugefügt.

Wie installiere ich OpenCV 4.2?

Für diejenigen, die daran interessiert sind, diese Bibliothek installieren zu können, kann die neue Version bekommen Lesen Sie auch die Informationen zur Verwendung und finden Sie sogar Tutorials auf der offiziellen Website.

Der Link ist dies.

In diesem Artikel Wir werden die Schritte bereitstellen, um die Bibliothek auf einem Raspberry Pi implementieren zu können.

So installieren Sie OpenCV auf einem Raspberry P.Ich muss dein System haben, das Raspbian ist.

Aus dem vWir werden ein Terminal eröffnen und darin tippen die folgenden Befehle zum Installieren von Abhängigkeiten, Entwicklertools, Image-Paketen und anderen zusätzlichen Bibliotheken:

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

Schließlich Lassen Sie uns die Python 3-Header-Dateien installieren damit wir OpenCV kompilieren können:

sudo apt-get install python3-dev

Jetzt Lassen Sie uns eine Python-Umgebung erstellen mit den folgenden Befehlen, um eine isolierte Site zu haben:

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

Wir werden virtualenv und virtualenvwrapper installieren:

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

Fertig jetzt Wir werden openCV kompilieren mit:

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

Jetzt werden wir den Swap in unserem System erhöhen, da das System hängen bleiben kann, wenn wir es so lassen, wie es standardmäßig ist:

sudo nano /etc/dphys-swapfile

Und wir werden die Variable CONF_SWAPSIZE bearbeiten:

CONF_SWAPSIZE=1024

Wir speichern und schließen mit Strg + o und Strg + x. Dann tippen wir:

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

Jetzt werden wir fortfahren zu kompilieren:

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

Und fertig.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.