J'essaie de réduire la taille de l'opencv2.framework pour iOS. Mon projet utilisant uniquement des modules Core, IMGPROC et HighGui. Comment puis-je compiler avec seulement ces modules? ou y a-t-il une alternative pour réduire la taille? P>
merci. p>
4 Réponses :
Il suffit de supprimer des modules à partir du dossier Modules et de supprimer Inclure les lignes du fichier d'en-têtes. Et compiler. Avant de faire cela, read cmakelists.txt pour les dépendances.
Par exemple, pour module HighGui; P>
ocv_define_module(imgproc opencv_core)
comme de v2.4.6 OpenCV a un script Python personnalisé pour faciliter le travail. (plateformes> iOS> build_framework.py)
Il vous suffit d'ajouter des indicateurs sur la ligne CMAKE pour créer une compilation personnalisée. P>
Par exemple: je n'avais besoin que de l'IMGPROC et d'inclure tous les en-têtes et d'inclure tous les en-têtes. Dans l'archive, mon cmake redresse maintenant ceci: p> n'oubliez pas de ajouter le noyau et le monde lib fort> comme ils sont obligatoires.
Exécutez le script Python> Profite. P> Après cela ajoutez la liberry manuellement à votre projet et retirez les en-têtes d'importation Pesky laissés dans les en-têtes> OpenCV.HPP et vous devriez être prêt à partir! P> < / p>
J'ai rencontré ce problème maintenant avec la version 3.1 et la réponse de Nebuto est proche, mais pas terminée à partir de maintenant. Ce qui suit a été capable de produire le résultat souhaité en mettant à jour le fichier build_framework.py.
b = Builder(args.opencv, args.contrib,
[
("armv7", "iPhoneOS"),
("armv7s", "iPhoneOS"),
("arm64", "iPhoneOS"),
#("i386", "iPhoneSimulator"),
("x86_64", "iPhoneSimulator"),
])
b.build(args.out)
opencv_world n'est pas obligatoire: Réponses. opencv.org/Questtion/3614/...
AS de OpenCV 3.4.1, vous pouvez maintenant utiliser le Si tout ce que vous voulez, c'est le module Bien que dans la pratique, cela ne fonctionnait pas vraiment pour moi. Je devais aussi exclure manuellement build_list code> arg pour spécifier quels modules à construire. Il s'agit d'une approche de liste blanche vs les approches de liste noire utilisant -build_opencv_xxx = off code> approches ci-dessus. imgProc code> alors vous pouvez modifier Le script de construction à quelque chose comme ceci: p> highgui code>, imgcodecs code> et vidéo code>: p>