Bei meinen Recherchen stieß ich auf eine Situation, in der es besser wäre, AR-Marker zu verwenden. Deshalb suchte ich nach einer Bibliothek, die AR-Marker erkennen konnte, und stieß auf etwas namens ArUco. Dieser Artikel zeigt Ihnen, wie Sie mit der ArUco-Bibliothek beginnen. Ich verwende Java, weil ich C / C ++ / C # nicht verwenden kann.
Ich erkläre auch, dass die Verwendung von OpenCV mit Java eine entmutigende Aufgabe sein kann. Es scheint, dass nur sehr wenige Leute es benutzen. Selbst auf Englisch gibt es nur wenige Codebeispiele und Fragen. Es läuft jedoch schneller als Python, daher denke ich, dass es viele Verwendungszwecke hat.
OpenCV OpenCV ist eine Open-Source-Bibliothek für die Bildverarbeitung und wird ziemlich häufig verwendet. Die Ideen werden so umfassend behandelt, dass sie mit Funktionen kombiniert werden können.
OpenCV_Contrib OpenCV_Contrib ist eine Bibliothek, die sich auf die neueste Technologie in OpenCV konzentriert und als Hilfe behandelt wird. Wenn Sie nur den Hauptkörper verwenden, müssen Sie nicht bauen. Sie können es herunterladen, indem Sie es von OpenCV.org (offizielle Seite) herunterladen. Es scheint jedoch, dass OpenCV_Contrib von mir selbst erstellt werden muss, wahrscheinlich weil es als Hilfsmittel behandelt wird. Diese Seite beschreibt, wie dies erstellt wird
ArUco Eine Bibliothek, die AR ausführen kann. Sie können AR-Marker generieren und erkennen. (Der Code usw. wird beim nächsten Mal beschrieben.)
Was zum Download | Erläuterung |
---|---|
OpenCV-Projektquelle | Stellen Sie sicher, dass die Version mit Conrib übereinstimmt. Ich bin Version: 3.4.Ich benutze 4. |
OpenCV_Projektquelle beitragen | Stellen Sie sicher, dass die Version mit Conrib übereinstimmt. Ich bin Version: 3.4.Ich benutze 4. |
CMake | Passend. |
Visual Studio | Ich habe Visual Studio Community 2017 verwendet.(C++Ich glaube ich musste einen Compiler einbauen ...) |
Python | Sie benötigen es wahrscheinlich auch, wenn Sie Java verwenden. Ich bin Version: 3.7.Ich benutze 1. |
JDK | Ich benutze Java8u191. |
Ant | Ich bin Version: 1.10.Ich benutze 5. |
Erweitern Sie die Projektquelle von OpenCV und OpenCV_Contrib. Bitte installieren Sie CMake und Visual Studio selbst.
Ist das unerwartet ein Songwriter? Wenn Sie es also nicht richtig einstellen, können Sie es nicht erstellen. (Ich war hier süchtig)
Was zum Download | Erläuterung |
---|---|
ANT_HOME |
Der extrahierte Ant-Ordner. (ex: C:\SOFT_File\apache-ant-1.10.5 ) |
JAVA_HOME |
Der Ordner, in dem Java installiert ist. (ex: C:\Program Files\Java\jdk1.8.0_191 ) |
Path |
Die folgenden InhaltehinzufügenBitte.C:\Program Files\CMake\bin , %ANT_HOME%\bin , %JAVA_HOME%\bin (ex: C:\Program Files\CMake\bin;%ANT_HOME%\bin;%JAVA_HOME%\bin; ) |
Es scheint, dass Sie sich vor dem Erstellen mit CMake auf den Build vorbereiten müssen, also werde ich es tun.
Artikel | Wert |
---|---|
Where is the source code |
Geben Sie den Pfad des extrahierten Ordners an. (ex: C:/SOFT_File/opencv-3.4.4 ) |
Where to build the binaries |
Ich habe einen Build-Ordner unter der extrahierten Hauptbibliothek erstellt und den Pfad dieses Ordners angegeben. (ex: C:/SOFT_File/opencv-3.4.4/build ) |
Nachdem Sie diese angegeben haben, drücken Sie "Konfigurieren". Geben Sie zu diesem Zeitpunkt den Compiler an. Dieses Mal verwenden wir Visual Studio für den Build. Geben Sie also Visual Studio an (das der Version entspricht). (Ich habe "Visual Studio 2017 Win64" gewählt)
Dann taucht ein roter auf, aber keine Sorge. Aktivieren Sie die Kontrollkästchen "Gruppiert" und "Erweitert".
Artikel | Wert |
---|---|
OPENCV_EXTRA_MODULES_PATH |
Bereitgestelltes OpenCV_Vom übergeordneten Ordner von ContribModule untenKonkretisieren. (Bereitgestelltes OpenCV_Nicht der übergeordnete Ordner von Contrib) |
Drücken Sie erneut auf Konfigurieren.
Deaktivieren Sie das Kontrollkästchen "BUILD_SHARED_LIBS". (Referenz: http://answers.opencv.org/question/189941/java-cant-find-dependent-libraries/)
Drücken Sie erneut auf Konfigurieren.
Bitte aktivieren Sie das Kontrollkästchen "BUILD_FAT_JAVA_LIB".
Drücken Sie erneut auf Konfigurieren.
Wenn zu diesem Zeitpunkt kein rotes Objekt vorhanden ist, ist dies in Ordnung. Wenn ja, korrigieren Sie es bitte.
Überprüfen Sie nun die Protokollausgabe. Stellen Sie insbesondere sicher, dass Java wie folgt ist. (Es ist nur ein Beispiel)
Java: export all functions
ant: C:/SOFT_File/apache-ant-1.10.5/bin/ant.bat (ver 1.10.5)
JNI: C:/Program Files/Java/jdk1.8.0_191/include C:/Program Files/Java/jdk1.8.0_191/include/win32 C:/Program Files/Java/jdk1.8.0_191/include
Java wrappers: YES
Java tests: YES
Volltext: https://pastebin.com/u2Qiy5EL
Wenn es kein Problem gibt, Drücken Sie "Generieren".
Wenn Sie fertig sind, klicken Sie auf "Projekt öffnen". Dadurch wird Visual Studio gestartet. (Zum nächsten Abschnitt)
Warten Sie eine Weile, um verschiedene Dinge zu lesen. Stellen Sie "Release" / "Debug" in der Mitte auf "Release". Stellen Sie außerdem den nächsten auf "x64". Drücken Sie in der Menüleiste oben auf "Build" -> "Batch Build". Überprüfen Sie sowohl ALL_BUILD als auch INSTALL und führen Sie es aus.
Wenn Sie eine Weile warten (ca. 1 Stunde?), Sollte es in dem Ordner erstellt werden, der zuvor in CMake unter "Wo werden die Binärdateien erstellt werden" angegeben ist (z. B. "(OpenCV-Extraktionsordner) / build / install").
Wenn es nicht generiert wurde oder wenn Sie Probleme mit diesem Artikel haben, hinterlassen Sie bitte einen Kommentar.
・ OpenCV mit MinGW unter Windows erstellen - Sie, ich selbst und die Community ・ Java Wrapper für OpenCV erstellen - Sie, ich selbst und die Community ↑ Es war am einfachsten als Java-Version zu verstehen.
・ OpenCV-Umgebungskonstruktion (OpenCV 3.0 / 3.1) - Build Insider ・ Erste OpenCV-Entwicklung - Anpassung von OpenCV mit CMake [OpenCV 3.1.0] - Build Insider )
Das nächste Mal möchte ich tatsächlich ein Lichtprogramm ausführen.
→ Verwenden Sie OpenCV_Contrib (ArUco) mit Java! (Teil 2-Programmierung)
Recommended Posts