Construire OpenCV pour UWP

Je lutte actuellement pour construire OpenCV pour le UWP.

J’ai déjà beaucoup cherché sur Google et découvert l’OpenCV Github Repo de Microsoft qui, techniquement, devrait faire l’affaire. Cependant, ce repository et pratiquement tout ce que j’ai trouvé à cet égard sont obsolètes (Visual Studio 2015, anciennes versions d’OpenCV, etc.). Je dois utiliser OpenCV 3.3 car il s’agit d’un projet multiplateforme et je ne souhaite pas tout recomstackr uniquement à cause d’un repo git obsolète.

Quelqu’un peut-il expliquer le processus de création d’OpenCV à l’aide de CMake à partir du référentiel officiel du programme UWP?


Ma première tentative a été simplement d’utiliser les Dll Windows, mais mon application crie «Échec du chargement du module». Ensuite, j’ai essayé de créer OpenCV les fichiers de projet Visual Studio comme indiqué ici et ici . Cependant, cela ne le fait pas pour moi car cela génère l’erreur suivante:

Erreur CMake dans cmake / OpenCVUtils.cmake: 440 (si): si arguments fournis:

"(" "OR" "OFF" ")" 

Arguments inconnus spécifiés Call Stack (l’appel le plus récent en premier): CMakeLists.txt: 317 (OCV_OPTION)

Il me dit également de vérifier le CMakeOutput.log mais là, il y a 0 erreurs partout.

Si quelqu’un pouvait me dire comment supprimer cette erreur ou quoi changer dans l’interface graphique de CMake pour créer OpenCV pour UWP, ce serait génial!

Modifier:

J’ai également essayé de comstackr OpenCV avec une chaîne d’outils spécifique à la plate-forme pour WinRT, disponible dans plates-formes / winrt. Cela ne change pas vraiment quoi que ce soit (je ne suis même pas sûr que ce soit le cas), je reçois toujours le message “Impossible de charger la DLL: le module spécifié est introuvable”. Peut-être que GPPK a raison dans son hypothèse qu’il s’agit davantage d’un problème UWP que d’un problème OpenCV. Quoi qu’il en soit, si quelqu’un sait quelque chose à ce sujet, j’aimerais vraiment obtenir de l’aide!

Ok, je n’ai pas encore eu de réponse, alors j’ai réussi à le faire moi-même (plus ou moins).

Voici comment je l’ai fait:

Conditions préalables

  • Visual Studio (2017)
  • UWP SDK
  • CMake
  • OpenCV du repo officiel

Pas

  1. Créez un dossier de construction dans lequel les bibliothèques UWP doivent être intégrées.
  2. Démarrez PowerShell dans ce dossier et exécutez la commande suivante (échangez C: \ OpenCV avec votre chemin OpenCV local): cmake -G "Visual Studio 15 2017" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERS ION="10.0" -DCMAKE_VS_EFFECTIVE_PLATFORMS=x86 -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF C:\OpenCV
  3. Si vous obtenez le même message d’erreur que le mien (voir la question pour plus de détails), accédez au fichier racine CMakeLists.txt du dossier OpenCV et ajoutez un # devant la ligne 317 (OCV_OPTION (ENABLE_PYLINT)). Cela devrait résoudre le problème, pour vérifier, exécutez la commande d’en haut une fois de plus.
  4. Assurez-vous que la sortie indique ” Windows RT support YES ” et ” Building for Microsoft platform: Windows “.
  5. Ouvrez OpenCV.sln dans le dossier de construction. Assurez-vous que tous les projets sont de type “Windows Store” ou “Universal Windows” et générez le projet ALL_BUILD deux fois: une fois dans la configuration Release et une autre dans le débogage. Ensuite, construisez le projet INSTALL.

Ça y est, vous devriez trouver les Dll construites dans le dossier d’installation. L’étape 3 est probablement un bogue dans OpenCV et, espérons-le, sera corrigée dans les prochaines versions.