Dans mes recherches, je suis tombé sur une situation où il serait préférable d'utiliser des marqueurs AR, j'ai donc cherché une bibliothèque capable de reconnaître les marqueurs AR et suis tombé sur quelque chose appelé ArUco. Cet article vous montre comment démarrer avec la bibliothèque ArUco. J'utilise Java car je ne peux pas utiliser C / C ++ / C #.
Je déclare également qu'utiliser OpenCV avec Java peut être une tâche ardue. Il semble que très peu de gens l'utilisent. Il existe peu d'exemples de code et de questions, même en anglais. Cependant, il fonctionne plus rapidement que Python, donc je pense qu'il a de nombreuses utilisations.
OpenCV OpenCV est une bibliothèque open source pour le traitement d'images et est assez largement utilisée. Les idées sont tellement couvertes qu'elles peuvent être combinées avec des fonctions.
OpenCV_Contrib OpenCV_Contrib est une bibliothèque qui se concentre sur les dernières technologies d'OpenCV et est traitée comme une aide. De plus, si vous n'utilisez que le corps principal, vous n'avez pas besoin de construire. Vous pouvez l'obtenir en le téléchargeant depuis OpenCV.org (page officielle). Cependant, il semble qu'OpenCV_Contrib doive être construit par moi-même probablement parce qu'il est traité comme un auxiliaire. Cette page décrit comment construire ce
ArUco Une bibliothèque qui peut exécuter AR. Vous pouvez générer et reconnaître des marqueurs AR. (Le code etc. sera décrit la prochaine fois.)
Que télécharger | La description |
---|---|
Source du projet OpenCV | Assurez-vous de faire correspondre la version avec Conrib. Je suis Version: 3.4.J'utilise 4. |
OpenCV_Source du projet Contrib | Assurez-vous de faire correspondre la version avec Conrib. Je suis Version: 3.4.J'utilise 4. |
CMake | De manière appropriée. |
Visual Studio | J'ai utilisé Visual Studio Community 2017.(C++Je pense que j'ai dû mettre dans un compilateur ...) |
Python | Vous en avez probablement besoin même lorsque vous utilisez Java. Je suis Version: 3.7.J'utilise 1. |
JDK | J'utilise Java8u191. |
Ant | Je suis Version: 1.10.J'utilise 5. |
Développez la source du projet d'OpenCV et d'OpenCV_Contrib. Veuillez installer CMake et Visual Studio par vous-même.
Est-ce un auteur-compositeur de façon inattendue? Donc, si vous ne le définissez pas correctement, vous ne pourrez pas créer. (J'étais accro ici)
Que télécharger | La description |
---|---|
ANT_HOME |
Le dossier Ant extrait. (ex: C:\SOFT_File\apache-ant-1.10.5 ) |
JAVA_HOME |
Le dossier dans lequel Java est installé. (ex: C:\Program Files\Java\jdk1.8.0_191 ) |
Path |
Le contenu suivantajouter àS'il vous plaît.C:\Program Files\CMake\bin , %ANT_HOME%\bin , %JAVA_HOME%\bin (ex: C:\Program Files\CMake\bin;%ANT_HOME%\bin;%JAVA_HOME%\bin; ) |
Il semble que vous deviez vous préparer pour la construction avec CMake avant de construire, donc je vais le faire.
article | valeur |
---|---|
Where is the source code |
Spécifiez le chemin du dossier extrait. (ex: C:/SOFT_File/opencv-3.4.4 ) |
Where to build the binaries |
J'ai créé un dossier de construction sous la bibliothèque principale extraite et spécifié le chemin de ce dossier. (ex: C:/SOFT_File/opencv-3.4.4/build ) |
Après avoir spécifié ces derniers, appuyez sur "Configurer". À ce stade, spécifiez le compilateur. Cette fois, nous utiliserons Visual Studio pour la construction, spécifions donc Visual Studio (celui qui correspond à la version). (J'ai choisi «Visual Studio 2017 Win64»)
Ensuite, un rouge apparaît, mais ne vous inquiétez pas. Cochez les cases "Groupé" et "Avancé".
article | valeur |
---|---|
OPENCV_EXTRA_MODULES_PATH |
OpenCV déployé_Du dossier parent de ContribModules ci-dessousEst spécifié. (OpenCV déployé_Pas le dossier parent de Contrib) |
Appuyez de nouveau sur Configurer.
Désactivez la case à cocher "BUILD_SHARED_LIBS". (Référence: http://answers.opencv.org/question/189941/java-cant-find-dependent-libraries/)
Appuyez de nouveau sur Configurer.
Veuillez cocher la case "BUILD_FAT_JAVA_LIB".
Appuyez de nouveau sur Configurer.
À ce stade, s'il n'y a pas d'objet rouge, c'est OK. Si tel est le cas, veuillez le corriger.
Vérifiez maintenant la sortie du journal. En particulier, assurez-vous que Java est comme suit. (C'est juste un exemple)
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
Texte intégral: https://pastebin.com/u2Qiy5EL
S'il n'y a pas de problème, Appuyez sur "Générer".
Lorsque vous avez terminé, appuyez sur "Ouvrir le projet". Cela lancera Visual Studio. (Vers la section suivante)
Attendez un moment pour lire diverses choses.
Réglez «Release» / «Debug» au milieu sur «Release». Veuillez également définir le suivant sur "x64".
Appuyez sur "Build" -> "Batch Build" dans la barre de menu ci-dessus.
Vérifiez à la fois ʻALL_BUILD et ʻINSTALL
et exécutez.
Si vous attendez un moment (environ 1h?), Il doit être créé dans le dossier spécifié dans Où construire les binaires
dans CMake plus tôt (ex: (dossier d'extraction OpenCV) / build / install
).
S'il n'est pas généré ou si vous rencontrez des problèmes avec cet article, veuillez laisser un commentaire.
・ Construire OpenCV à l'aide de MinGW sur Windows - Vous, moi et la communauté ・ Création d'un wrapper Java pour OpenCV - Vous, moi et la communauté ↑ C'était la plus simple à comprendre en tant que version Java.
・ Construction de l'environnement OpenCV (OpenCV 3.0 / 3.1) --Build Insider ・ Premier développement OpenCV-Personnalisation d'OpenCV à l'aide de CMake [OpenCV 3.1.0] --Build Insider )
La prochaine fois, j'aimerais lancer un programme léger.
→ Utilisez OpenCV_Contrib (ArUco) avec Java! (Partie 2-Programmation)
Recommended Posts