L’initialiseur de type pour 'Emgu.CV.CvInvoke' a lancé une exception. Si vous voyez cette exception, veuillez vérifier ce qui suit
As-tu installé MSVCRT ? Pour la version 2.0+, le binaire OpenCV 2.0 inclus est construit avec Visual Studio 2008, il faudra installer MSVCRT 9.0 SP1 pour résoudre le problème de dépendance. Pour la version 1.5, le binaire OpenCV pré-1.1 inclus est construit avec Visual Studio 2005, il faudra installer MSVCRT 8.0 SP1 pour résoudre le problème de dépendance. As-tu copié les DLL OpenCV dans le répertoire d’exécution ? Assurez-vous que les DLL non gérées sont dans le répertoire d’exécution. Pour la version CV d’Emgu <= 2.1, cela signifie les DLL suivantes : cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll andcvextern.dll où XXX est l’OpenCV Numéro de version. Pour la version CV d’Emgu >= 2.2, cela signifie les DLL suivants : opencv_calib3dXXX.dll, opencv_contribXXX.dll, opencv_coreXXX.dll, opencv_features2dXXX.dll, opencv_highguiXXX.dll, opencv_ imgprocXXX.dll, opencv_legacyXXX.dll opencv_mlXXX.dll, opencv_objectdetectXXX.dll opencv_videoXXX.dll où XXX est le numéro de version OpenCV. La meilleure façon de mettre en place votre projet est la suivante : Copiez les DLL non gérées dans votre dossier projet Faites un clic droit sur le projet, cliquez sur Ajouter >ObjectExistant et sélectionnez toutes les DLL non gérées. Ajoutez-les au projet. Pour chacune des DLL incluses, faites un clic gauche dessus, trouvez l’option « Copier vers le répertoire de sortie » et sélectionnez « Copier si plus récent » Utilisez-vous un système d’exploitation 32 bits ? L’installateur Windows n’est disponible que pour les fenêtres 32 bits. Si vous utilisez un système d’exploitation 64 bits, il existe trois façons possibles de résoudre ce problème :
Vous pouvez télécharger le package zip binaire 64 bits uniquement depuis sourceforge et l’ajouter à votre projet. Vous pouvez aussi recompiler OpenCV à partir de la source pour une plateforme 64 bits. Voir l’instruction pour construire à partir de SVN Sinon, vous pouvez forcer votre application .NET à fonctionner en mode 32 bits, même sur un système d’exploitation 64 bits. Pour cela, dans la page de configuration de votre projet exécutable, sélectionnez Cible de plateforme en tant que 'x86'. Tu oublies une dépendance ? Téléchargez Dependency Walker et utilisez-le pour ouvrir le fichier « cvextern.dll ». Vérifiez si une dépendance manque.
J’ai vérifié tout ce qui précède mais j’ai quand même eu l’exception Dans ce cas, essayez de construire et d’exécuter les exemples. Après avoir construit les exemples, essayez de lancer le programme « Hello World ».
Si « Hello World » fonctionne sans problème, comparez-le à youproject, trouvez la différence de configuration et corrigez-la.
Si « Hello World » obtient le même « initialiseur de type pour’Emgu. CV.CvInvoke' a lancé une exception. » essaie de trouver l’InnerException et signale-la au forum de discussion
Initialisation de type d’EMGU. CV. On peut mettre des exceptions. Si vous voyez cette exception, veuillez vérifier ce qui suit As-tu installé msvcrt ? La version 2+, incluse dans OpenCV 2 binaire, sert à construire Visual Studio 2008, et il faudra installer edmsvcrt 9 SP1 pour résoudre les problèmes de dépendances. Pour la version 1.5, version binaire OpenCV antérieure à la version 1.1 de Visual Studio 2005, vous devrez installer edmsvcrt 8 SP1 pour résoudre les problèmes de dépendances. Le répertoire d’exécution des DLL OpenCV que vous avez copié ? Assurez-vous que la DLL non gérée est dans le répertoire d’exécution. Pour la version CV d’emgu< = 2.1, ce qui signifie les DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx suivantes. DLL, highguixxx.dll, opencv_ffmpegxxx.dll, mlxxx.dll andcvextern.dll où xxx sont les numéros de version d’opencv. Pour la version CV de l’emgu> = 2.2 Cela signifie que les DLL:opencv_calib3dxxx.dll suivantes, opencv_contribxxx. DLL,opencv_corexxx.dll,opencv_features2dxxx。 DLL,opencv_highguixxx.dll,opencv_imgprocxxx.dll,opencv_legacyxxx。 DLL,opencv_mlxxx.dll,opencv_objectdetectxxx。 DLL, opencv_videoxxx.dll XXX est le numéro de version opencv. La meilleure façon de développer votre projet est la suivante : DLL non géré copié dans votre dossier projet Faites un clic droit sur le projet et cliquez sur Ajouter > élément existant pour sélectionner toutes les DLL non gérées. Ajoutez-les au projet. Pour chaque DLL qu’elle contient, faites un clic gauche dessus, trouvez l’option « Copier & Sortir le répertoire », sélectionnez « Copier si mise à jour » Utilisez-vous un système d’exploitation 32 bits ? L’installateur Windows ne peut fournir que des Windows 32 bits. Si vous utilisez un système d’exploitation 64 bits, il existe trois façons possibles de résoudre ce problème : Vous pouvez télécharger le package zip binaire 64 bits uniquement depuis sourceforge et l’ajouter à votre projet. Vous pouvez aussi compiler des sources OpenCV depuis des plateformes 64 bits. Voir la directive de construction fromsvn Ou vous pouvez forcer le vôtre. Les applications .NET fonctionnent en mode 32 bits, même sur des systèmes d’exploitation 64 bits. Pour cela, sur la page de configuration de votre projet d’exécution, sélectionnez la cible de la plateforme en xx86". Tu rates des dépendances ? Téléchargez Dependent Walker et utilisez-le pour ouvrir le « fichier DLL cvextern ». ”。 Vérifiez si des dépendances manquent. J’ai vérifié tout ce qui précède mais j’ai encore des exceptions Dans ce cas, essayez de construire et de faire tourner une instance. Après avoir construit l’instance, essayez d’exécuter le programme Hello World. Si Hello World fonctionne sans problème, il se compare à youproject, trouve des différences structurelles et les résout. Si « hello world » reçoit le même « type initial value seter for’emgu ». CV. cvinvoke » fait une exception. message, j’essaie de découvrir OutInnerException au forum
|