OpenCV-Paketkonfiguration
OpenCV ist eine Bibliothek für maschinelles Lernen, die verschiedene Funktionen in Bezug auf Computer-Vision-Anwendungen bereitstellt. OpenCV kann mit C++, Python, Java und MATLAB verwendet werden.
Da es sich um eine externe Bibliothek handelt, die in keine Programmiersprache integriert ist, muss sie vor der Verwendung separat auf dem System installiert werden. Obwohl es normalerweise einfach ist, OpenCV zu installieren und auszuführen, können einige Probleme dazu führen, dass die OpenCV-Bibliotheksfunktion nicht funktioniert, wie z. B. fehlende Pakete oder falsche Syntax beim Kompilieren.
Im Folgenden listen wir einige häufige Probleme bei der Installation und Ausführung von OpenCV auf und wie man sie behebt.
das libopencv-dev
ist nicht installiert
Das Paket libopencv-dev
ist ein unterstützendes Paket zum Ausführen von OpenCV und enthält einige Bibliotheksbinärdateien, die normalerweise zum Ausführen von OpenCV auf Linux-Distributionen, insbesondere Ubuntu, erforderlich sind.
Wenn das Ausführen einer Datei mit OpenCV-Funktionen nicht ausgeführt wird und das System die Fehlermeldung pkg-config kann OpenCV nicht finden
anzeigt, liegt dies normalerweise am fehlenden Paket libopencv-dev
. Dieses Problem lässt sich leicht durch die Installation von libopencv-dev
lösen.
Wenn Sie OpenCV mit dem Linux-Paketmanager auf dem System installiert haben, führen Sie zur Installation von libopencv-dev
den folgenden Befehl auf dem Terminal aus.
sudo apt-get install libopencv-dev
Wenn Sie OpenCV für die Verwendung mit Python mit pip
installiert haben, müssen Sie den folgenden Befehl auf dem Terminal ausführen.
sudo apt-get install libopencv-dev python-opencv
sudo pip install opencv-python
Hinweis: Wenn Sie für den obigen Befehl
pip3
auf Ihrem System verwenden, müssen Siepip
durchpip3
ersetzen.
C++-Dateien, die OpenCV verwenden, werden nicht kompiliert
Angenommen, Sie haben OpenCV bereits mit allen relevanten Paketen auf Ihrem System installiert und erhalten beim Kompilieren mit G++ den Fehler undefinierte Referenz auf OpenCV
. In diesem Fall liegt es normalerweise an der Syntax des Kompilierbefehls.
Wenn Sie beispielsweise mit dem folgenden Befehl kompilieren, wird der Fehler undefinierte Referenz
generiert.
g++ `pkg - config-- cflags-- libs opencv` test.cpp - o test
Um diesen Fehler zu beheben, fügen Sie pkg-config --cflags --libs opencv
am Ende des Befehls wie folgt hinzu:
g++ test.cpp - o test `pkg - config-- cflags-- libs opencv`
Der obige Befehl bewirkt, dass die Datei erfolgreich kompiliert und ausgeführt wird.
Wenn Sie die korrekte Syntax verwenden und die Datei immer noch nicht kompiliert wird und einen Fehler undefinierte Referenz
generiert, kann dies daran liegen, dass die auf Ihrem System installierte Version von OpenCV nicht mit dem Kompilierungsbefehl übereinstimmt. Wenn Sie beispielsweise OpenCV4
verwenden, müssen Sie die 4 unbedingt auch mit dem Kompilierungsbefehl hinzufügen.
g++ test.cpp - o test `pkg - config-- cflags-- libs opencv4`