Was ist OpenCV und wozu wird es benötigt?
\n\nOpenCV (Open Source Computer Vision Library) ist eine plattformübergreifende Open-Source-Bibliothek für Aufgaben des maschinellen Sehens und des maschinellen Lernens. Sie bietet über 2500 optimierte Algorithmen, die nahezu alle Bereiche des maschinellen Sehens abdecken: von der einfachen Bildverarbeitung (Filterung, geometrische Transformationen) bis hin zu komplexen Aufgaben (Gesichtserkennung, Objektverfolgung, 3D-Rekonstruktion, Videoanalyse).
\n\nDie Bibliothek ist in C++ und C geschrieben, was eine hohe Leistung gewährleistet, und verfügt über Anbindungen an Python, Java, MATLAB und andere Sprachen. In diesem Leitfaden konzentrieren wir uns auf die Verwendung von OpenCV in C++ – dies ist die optimale Wahl für Produktionssysteme, bei denen Geschwindigkeit und effiziente Speicherverwaltung entscheidend sind.
\n\nWozu wird OpenCV benötigt?
\n- \n
- Bildverarbeitung: Größenänderung, Drehung, Filterung, Kontrastverbesserung, Farbkorrektur. \n
- Videoanalyse: Lesen/Schreiben von Videos, Bewegungserkennung, Objektverfolgung. \n
- Objekterkennung: Gesichter, Autos, Text (OCR), Gesten. \n
- Kamerakalibrierung: Beseitigung von Verzerrungen, Stereosehen. \n
- Maschinelles Lernen: Integrierte Klassifikatoren (SVM, KNN, Decision Trees) und Integration mit DNN (Deep Neural Networks) für die Arbeit mit Modellen von TensorFlow, Caffe, PyTorch. \n
Installation von OpenCV für C++
\n\nIm Gegensatz zu Python, wo ein einziger Befehl pip install opencv-python ausreicht, erfordert die Installation von OpenCV für C++ die Kompilierung oder die Verwendung vorgefertigter Binärpakete. Betrachten wir die wichtigsten Methoden.
1. Installation über den Paketmanager (Linux/macOS)
\nUbuntu/Debian:
\nsudo apt update\nsudo apt install libopencv-dev\nmacOS (Homebrew):
\nbrew install opencv\n\n2. Installation über vcpkg (Windows, Linux, macOS)
\nvcpkg ist ein plattformübergreifender Paketmanager von Microsoft. Installieren Sie zunächst vcpkg:
\ngit clone https://github.com/Microsoft/vcpkg.git\ncd vcpkg\n./bootstrap-vcpkg.sh # Linux/macOS\n.\\bootstrap-vcpkg.bat # Windows\nInstallieren Sie dann OpenCV:
\n./vcpkg install opencv4\nBinden Sie die Bibliothek nach der Installation in CMake ein:
\ncmake_minimum_required(VERSION 3.10)\nproject(MyOpenCVProject)\nfind_package(OpenCV REQUIRED)\nadd_executable(main main.cpp)\ntarget_link_libraries(main ${OpenCV_LIBS})\n\n3. Kompilierung aus dem Quellcode (fortgeschrittene Stufe)
\nDiese Methode bietet maximale Kontrolle über die enthaltenen Module und Optimierungen:
\ngit clone https://github.com/opencv/opencv.git\ncd opencv\nmkdir build && cd build\ncmake -D CMAKE_BUILD_TYPE=RELEASE \\\n -D CMAKE_INSTALL_PREFIX=/usr/local \\\n -D WITH_TBB=ON \\\n -D WITH_V4L=ON \\\n -D WITH_QT=ON \\\n -D WITH_OPENGL=ON ..\nmake -j$(nproc)\nsudo make install\n\nSchnellstart: Bild laden und anzeigen
\nÜberprüfen wir, ob OpenCV korrekt installiert ist, indem wir ein einfaches Programm schreiben, das ein Bild lädt, es in Graustufen umwandelt und anzeigt.
\n\n#include <opencv2/opencv.hpp>\n#include <iostream>\n\nint main() {\n // Bild laden\n cv::Mat img = cv::imread("example.jpg");\n if (img.empty()) {\n std::cerr << "Bild konnte nicht geladen werden!" << std::endl;\n return -1;\n }\n\n // In Graustufen umwandeln\n cv::Mat gray;\n cv::cvtColor(img, gray, cv::COLOR_BGR2GRAY);\n\n // Beide Bilder anzeigen\n cv::imshow("Original", img);\n cv::imshow("Graustufen", gray);\n\n // Auf Tastendruck warten\n cv::waitKey(0);\n cv::destroyAllWindows();\n\n return 0;\n}
Auch in der Bibliothek
Empfehlungen