OpenCV (Open Source Computer Vision Library) ist eine Open-Source-Computer-Vision-Bibliothek mit Bindungen für C++, Python und Java und unterstützt alle wichtigen Betriebssysteme. Es kann die Multi-Core-Verarbeitung nutzen und bietet GPU-Beschleunigung für den Echtzeitbetrieb.
OpenCV wird für eine Vielzahl von Anwendungen verwendet, darunter medizinische Bildanalyse, Zusammenfügen von Straßenansichtsbildern, Überwachungsvideos, Erkennen und Erkennen von Gesichtern, Verfolgen von sich bewegenden Objekten, Extrahieren von 3D-Modellen und vieles mehr.
In diesem Artikel wird beschrieben, wie Sie OpenCV unter CentOS 8 installieren. Um die neueste stabile Version von OpenCV aus der Quelle zu installieren, scrollen Sie nach unten zum Abschnitt Installation von OpenCV aus der Quelle dieses Tutorials. Wählen Sie eine der Installationsoptionen, die für Sie am besten geeignet ist.
Installieren Sie OpenCV aus dem CentOS-Repository #
Die OpenCV-Pakete sind in den CentOS 8-Standard-Repositories verfügbar, aber es gibt keine Bindungen für Python.
Installieren Sie die OpenCV-Pakete, indem Sie Folgendes eingeben:
sudo dnf install opencv opencv-devel
Überprüfen Sie nach Abschluss der Installation, ob die OpenCV-Bibliothek vorhanden ist, indem Sie Folgendes ausführen:
pkg-config --modversion opencv
3.4.1
Installieren von OpenCV aus der Quelle #
Das Erstellen der OpenCV-Bibliothek aus der Quelle ermöglicht es Ihnen, die neueste verfügbare Version zu haben. Es wird für Ihr spezielles System optimiert und Sie haben die vollständige Kontrolle über die Build-Optionen.
Führen Sie die folgenden Schritte aus, um die neueste OpenCV-Version von der Quelle zu installieren:
-
Installieren Sie die erforderlichen und optionalen Abhängigkeiten:
sudo dnf install epel-release git gcc gcc-c++ cmake3 qt5-qtbase-devel \
python3 python3-devel python3-pip cmake python3-devel python3-numpy \
gtk2-devel libpng-devel jasper-devel openexr-devel libwebp-devel \
libjpeg-turbo-devel libtiff-devel tbb-devel libv4l-devel \
eigen3-devel freeglut-devel mesa-libGL mesa-libGL-devel \
boost boost-thread boost-devel gstreamer1-plugins-base
-
Klonen Sie sowohl die OpenCV- als auch die OpenCV-Contrib-Repositories:
mkdir -p ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
Zum Zeitpunkt des Schreibens ist die Standardversion in den Github-Repositories Version 4.2.0. Wenn Sie eine ältere Version von OpenCV installieren möchten, navigieren Sie sowohl zu
opencv
undopencv_contrib
Verzeichnisse und führen Siegit checkout <opencv-version>
aus -
Sobald der Download abgeschlossen ist, erstellen Sie ein temporäres Build-Verzeichnis und wechseln Sie dorthin:
cd ~/opencv_build/opencv && mkdir build && cd build
Konfigurieren Sie den OpenCV-Build mit dem folgenden CMake-Befehl:
cmake3 -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
Die Ausgabe sieht in etwa so aus:
-- Configuring done -- Generating done -- Build files have been written to: /home/vagrant/opencv_build/opencv/build
-
Starten Sie den Kompilierungsprozess, indem Sie den folgenden Befehl ausführen:
make -j8
Ändern Sie das
-j
Flag entsprechend Ihrem Prozessor. Wenn Sie die Anzahl der Kerne in Ihrem Prozessor nicht kennen, können Sie sie finden, indem Sienproc
eingeben .Die Kompilierung kann abhängig von Ihren Systemressourcen einige Minuten oder länger dauern.
-
Installieren Sie die OpenCV-Bibliotheken mit:
sudo make install
-
Erstellen Sie Symlink
opencv4.pc
Datei in/usr/share/pkgconfig
Verzeichnis und führen Sieldconfig
aus um den Bibliotheken-Cache neu aufzubauen.sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
sudo ldconfig
Überprüfen Sie die OpenCV-Version, indem Sie Folgendes eingeben:
pkg-config --modversion opencv4
4.3.0
-
Um die Python
cv2
zu überprüfen Modullauf:python3 -c "import cv2; print(cv2.__version__)"
4.3.0-dev