Ein Fehler wird angezeigt
opencv_core245.dll
undopencv_ml245.dll
fehlt.
Diese beziehen sich auf die OpenCV- Bibliothek (Open Source Computer Vision). Möglicherweise möchten Sie versuchen, das zuerst zu installieren.
Installationshinweise
Der OpenCV-Extraktor für Windows (derzeit als gepackt
.exe
) fragt nach einem Pfad, in den er extrahiert werden soll, wenn er ausgeführt wird. Anopencv
diesem Ort wird automatisch ein Ordner erstellt.Im weitesten Sinne sollte es egal sein, wo Sie diese Datei extrahieren. Ihr Programm hat jedoch möglicherweise bestimmte Anforderungen (die Sie überprüfen müssen) hinsichtlich der Platzierung der fehlenden DLL-Dateien.
Bei einigen Programmen muss möglicherweise ein Pfad zur Bibliothek in den Einstellungen festgelegt werden, bei anderen müssen Sie möglicherweise Dateien manuell ablegen, z. B. in ihren Programmordnern (oder anderen Speicherorten). Sie müssen bestätigen, welche dieser Optionen durch Ihre Programmdokumentation oder weitere Nachforschungen zutreffen.
OpenCV enthält eine Reihe von
builds
. Sie sollten die "Bitness" Ihrer ausgewählten Bibliothek-DLLs mit der "Bitness" Ihres Programms (dh 32-Bit oder 64-Bit) abgleichen.
TITARL
Für TITARL müssen die fehlenden DLLs in demselben Ordner abgelegt werden wie TITARL.exe
:
opencv_core245.dll
Und opencv_ml245.dll
Leider scheint OpenCV 2.4.5 (und diese .dlls) nicht mehr als vorkompilierte Binärdateien verfügbar zu sein. Die OpenCV 2.4.5 Library ist jedoch weiterhin als Quellcode aus dem offiziellen GitHub-Repository verfügbar . Die fehlenden DLL-Dateien müssen aus diesem Quellcode kompiliert werden, bevor das Programm ausgeführt wird.
Wenn Sie Fremden im Internet vertrauen, habe ich 64-Bit-Versionen dieser beiden DLLs für Sie zusammengestellt. Sie schienen mit dem example_learning.bat
mitgelieferten TITARL korrekt zu funktionieren. Sie wurden jedoch noch nicht gründlich getestet.
Vorsichtsmaßnahmen
Diese DLLs wurden mit Visual Studio 14 (2015) unter Windows 7 ohne Python-Unterstützung erstellt.
Die Unterstützung für FFmpeg und DirectShow war in den Build-Optionen enthalten, wurde aber in keiner Weise direkt getestet.
Außer
opencv_core245.dll
und wurden keine anderen DLLs gebautopencv_ml245.dll
.
Wenn Sie sich dafür entscheiden, dies zu versuchen und in Schwierigkeiten zu geraten (z. B. unerklärliche Verhaltensweisen oder andere Probleme), müssen Sie sie möglicherweise einfach selbst kompilieren. Ich gebe einen Überblick über die Schritte, die ich unten gemacht habe.
Mini-Kompilierungshandbuch für Visual Studio
Basierend auf diesem allgemeinen Handbuch zum Kompilieren von OpenCV 3 mit Visual Studio, das Sie in den Kommentaren erwähnt haben, sollten Sie mit den folgenden Schritten zumindest eine minimal funktionierende Installation von TITARL erhalten, indem Sie die erforderlichen fehlenden DLL-Dateien erstellen.
Vorbereitung
Laden Sie die Microsoft Visual Studio Community Edition (kostenlos) herunter und installieren Sie sie . Sie haben auch ältere Versionen, je nach Ihren Bedürfnissen. Beachten Sie, dass ältere Versionen derzeit ein kostenloses Dev Essentials- Konto benötigen, um darauf zugreifen zu können.
Laden Sie CMake herunter und installieren Sie es . CMake ist ein Dienstprogramm, das die Kompilierung ein wenig einfacher macht, und OpenCV 2.4.5. hat die nötigen Dateien, um damit arbeiten zu können.
Laden Sie den zuvor verlinkten Quellcode herunter und extrahieren Sie ihn (falls Sie dies noch nicht getan haben). Wo Sie den Quellcode extrahieren, ist Ihre Wahl.
Wenn CMake installiert ist, öffnen Sie die GUI-Benutzeroberfläche (z. B. über das Symbol auf Ihrem Desktop).
Geben Sie oben im Hauptfenster den Pfad zu Ihrem Quellcode in das erste Feld ein. Fügen Sie im sekundären Feld darunter einen Pfad hinzu, in dem Sie Dateien speichern möchten, die sich auf die Kompilierung beziehen (der Ort dieses zweiten Pfads ist Ihre Wahl). In diesen Schritten verwende ich einen Ordner mit dem Namen
build
, der sich im selben Verzeichnis wie der Quellcode befindet:Wenn Sie diese Pfade eingegeben haben, drücken Sie am unteren Rand des Hauptfensters auf Konfigurieren . Ein neues Dialogfeld sollte angezeigt werden.
Wählen Sie in diesem Dialogfeld den richtigen "Generator" für Ihre DLLs aus. Bei Visual Studio ist dies der Name der Edition, gefolgt von nichts (wobei 32-Bit-Binärdateien erstellt werden) oder
Win64
(mit 64-Bit-Binärdateien). TITARL ist ein 64-Bit-Programm (TITARL 1.7 [Win x64 - Public release]
). Daher sollten Sie beispielsweise die entsprechenden 64-Bit-DLLs auswählenVisual Studio 14 2015 Win64
oderVisual Studio 15 2017 Win64
erstellen:Drücken Sie auf Fertig stellen um das Dialogfeld zu schließen. CMake beginnt automatisch mit der Verarbeitung des Quellcodes von OpenCV 2.4.5. Im Hauptfenster hat sich die Schaltfläche Konfigurieren in eine Schaltfläche Stopp geändert, und die Schaltflächen Generieren ... und Projekt öffnen ... sind ausgegraut. Beachten Sie, dass diese anfängliche Verarbeitung einige Minuten dauern kann.
Sobald diese Verarbeitung abgeschlossen ist, werden im oberen Fenster des CMake-Hauptfensters viele Informationen rot angezeigt (dies sind neu erkannte Optionen). Im unteren Bereich sollte "Konfigurieren abgeschlossen" stehen:
Suchen Sie nach den markierten Build-Optionen
BUILD_opencv_*
(wo*
ist ein Name wieapps
). Sie sollten alle in einem Block sein. Deaktivieren Sie das Kontrollkästchen neben den einzelnen Elementen mit Ausnahme vonBUILD_opencv_core
undBUILD_opencv_ml
. Drücken Sie Configure erneut. Nach der Bearbeitung wieder beendet, drücken Sie generieren ... . Wenn Sie fertig sind, sollte das Hauptfenster von CMake ungefähr so aussehen:
Fixieren von OpenCV 2.4.5
Normalerweise wäre zu diesem Zeitpunkt alles zum Kompilieren der fehlenden DLLs bereit. OpenCV 2.4.5. hat ein generisches Problem mit Visual Studio 12+, bei dem eine große Anzahl von "max" : is not a member of "std"
Fehlern generiert wird, die die Erstellung der erforderlichen DLL-Dateien verhindern.
Wie in einer Antwort auf diese StackOverflow-Frage ausführlich beschrieben, kann die Kompilierung mit geringfügigen Änderungen am ursprünglichen Quellcode erreicht werden.
So beheben Sie dieses Problem:
Finden Sie die
OpenCV.sln
zuvor von CMake erzeugte Lösung (zB unterC:\path\to\opencv-2.4.5\build
).Doppelklicken Sie auf die Datei, um sie in Visual Studio zu öffnen. Da dies wahrscheinlich das erste Mal ist, dass Sie diese Lösung geöffnet haben, kann es eine oder zwei Minuten dauern, bis Visual Studio sie vollständig analysiert hat. Sehen Sie sich die blaue Aktivitätsleiste unten im Hauptfenster von Visual Studio an und warten Sie, bis "Fertig" angezeigt wird, bevor Sie fortfahren.
Drücken Sie nach dem Einrichten von Visual Studio Ctrl+ H, um das Dialogfeld Suchen und Ersetzen zu öffnen. Führen Sie dann die folgenden Schritte aus :
Kompilieren
Wenn alle oben genannten Schritte abgeschlossen sind, sollten Sie mit CMake kompilieren können. Öffnen Sie ein Befehlsfenster in Ihrem build
Verzeichnis ( C:\path\to\opencv-2.4.5\build
z . B.) und geben Sie Folgendes ein:
C:\path\to\cmake.exe --build . --config Release --target INSTALL
Nach kurzer Zeit (unter 15 Minuten) sollte das Kompilieren abgeschlossen sein und die fehlenden .dlls sollten im install\bin
Ordner des build
Verzeichnisses verfügbar sein (z C:\path\to\opencv-2.4.5\build\install\bin
. B. ). Wie bereits erwähnt, müssen die .dlls in diesem Ordner im selben Ordner abgelegt werden wie TITARL.exe
.
Allgemeine Hinweise
Nach den oben genannten Schritten sind bei Visual Studio keine größeren Fehler als die erforderliche Code-Korrektur aufgetreten. Ich habe jedoch nicht versucht, die gesamte Bibliothek zu erstellen.
Nicht jeder Schritt, der hier dargestellt wird, entspricht genau den Schritten, die in den Leitfadenlinks angegeben sind. Sie können auf diese Links für weitere Details zurückgreifen.
Anmerkungen zu Visual Studio
Visual Studio kann eine umfangreiche Installation sein und möglicherweise eine eigene Konfiguration erfordern. Daher kann der Vorbereitungsschritt 1 länger dauern, als Sie vielleicht denken.
Wenn Sie planen, mit Python-Unterstützung in OpenCV zu basteln, muss Visual Studio möglicherweise
Python Tools for Visual Studio
zusammen mit seiner Unterstützung für eingerichtet werdenVisual C++
.Gelbe Warnmeldungen beim Kompilieren können oft ignoriert werden. Auf der anderen Seite weisen rote Fehlermeldungen auf Probleme hin, die dazu führen, dass ein Build fehlschlägt (dh es werden keine DLL-Dateien erzeugt). Diese sind jedoch nicht identisch mit den potenziell "sicheren" roten Fehlern, die CMake unten generiert.
CMake-Notizen
CMake verwendet in seiner GUI-Schnittstelle
/
keine\
Windows-Pfade. Eingefügte Pfade sollten sich jedoch automatisch\
umgeschaltet haben/
.Wenn Sie
cmake.exe
im abschließenden Kompilierungsschritt nicht den vollständigen Pfad eingeben möchten, wählen Sie die Option, um CMake während der Installation zu PATH hinzuzufügen.Die Option zum Erstellen von DLLs, die Python in CMake unterstützen, erfordert Schritte, die hier nicht aufgeführt sind.
Vorbereitungsschritt 7 kann dazu führen, dass falsche Binärdateien erstellt werden, wenn Sie den falschen Generator auswählen (dh 32-Bit-DLLs funktionieren nicht mit einem 64-Bit-Programm). Die Auswahl der Optionsschaltflächen
Use default native compilers
sollte jedoch in Ordnung sein.Wenn Sie mit CMake usw. Fehler machen, löschen Sie einfach Ihren
build
Ordner und beginnen Sie erneut mit Vorbereitungsschritt 4.In CMake schienen rote "Fehler" in der Benutzeroberfläche bei den angegebenen Schritten keine ernsthaften Probleme zu verursachen. Das heißt, es lohnt sich wahrscheinlich, generell alle Fehler oder Warnungen zu beachten, die Sie treffen.
Bei gravierenden Problemen wird die Konfiguration nicht abgeschlossen und ein Fehlerprotokoll wird erstellt.