Exception non gérée sur OpenCV+VS2010
Je peux construire et exécuter le code ci-dessous avec succès :
IplImage* img = cvLoadImage("C:\\hello.jpg");
cvNamedWindow("myfirstwindow");
cvShowImage("myfirstwindow", img);
Mais j'ai eu l'exception non gérée lors de l'exécution, le code ci-dessous:
cv::Mat image= cv::imread("boldt.jpg");
cv::namedWindow("Image");
cv::imshow("Image",image);
bien,je peux générer le code avec succès.
Je suis en utilisant opencv2.2 avec VS2010 version x86 sous windows 7 version x86.
s'il vous plaît aider !
mise à jour: je l'ai essayé sur winxp ,et il fonctionne très bien...et il fonctionne très bien avec win7 sur le mode de Libération.
OriginalL'auteur Zombia | 2011-11-17
Vous devez vous connecter pour publier un commentaire.
Je suis en utilisant OpenCV 2.3.1 et quand je le lance en mode Release (liée à une libération highgui lib), tout va bien.
Lorsque je passe en mode Debug (toujours lié à une version highgui lib), il se bloque.
Liaison à un debug highgui lib aidé.
Peut-être vous avez le même problème...
Séparer le debug et release .libs pour votre projet en vc10 .. fixe mon problème
OriginalL'auteur Ben
Il pourrait être le problème où les gens ne réalisent pas que quand VStudio exécute votre application, il essaie de trouver les ressources dans le même répertoire que le fichier exécutable compilé et pas dans le dossier où les fichiers source sont.
Votre premier code fonctionne parce que vous êtes le chargement de l'image en passant le CHEMIN d'accès COMPLET vers le fichier!
C'est pourquoi il est si important de vérifier le succès de fonctions lorsque vous êtes codage:
Ce genre de programmation pratique vous permettra d'économiser beaucoup de temps.
MODIFIER:
Bien, si l'accident est encore en cours, cela signifie qu'il pourrait être
cv::namedWindow()
oucv::imshow()
faute, et mon argent est surcv::namedWindow()
.D'autres utilisateurs ont signalé un comportement similaire sur Windows:
OpenCV 2.2 Windows XP MinGW construire des plantages sur namedWindow, imshow
Open CV accidents de sous WIN7 lors de l'ouverture de NamedWindow
namedWindow() provoque un crash dans opencv 2.3.1? (Eclipse+MinGW sur XP, C++)
Il semble que pour résoudre le problème, vous devez désactiver l'ESS optimisations.
Mise à jour de la réponse! c'est probablement une bug connu de OpenCV sur Windows.
merci pour votre réponse..le crash encore se produire après que j'ai mise à jour 2.3.1 et l'ESS méthode ne fonctionne pas pour moi..de toute façon, il fonctionne très bien sur le mode de Libération, me semble être une bonne solution de rechange. 🙂
OriginalL'auteur karlphillip
Avez-vous vérifié la sortie de la imread() la fonction?
OriginalL'auteur Sam
J'ai exactement le même problème que ont été décrits.
Il s'avère que le problème de beaucoup de mensonges avec les paramètres de l'éditeur de liens!
J'ai trouvé la réponse dans un autre thread:
OpenCV 2.3 et Visual Studio 2010
Ici, il est:
"Propriétés de votre projet (clic droit dessus)
De l'éditeur de liens
Une fois que je l'ai fait ci-dessus, je peux courir imshow et imread + toutes les autres fonctions rpc transparente! L'auteur qui a posé la question a probablement déjà résolu. mais juste au cas où il y a d'autres personnes qui sont conduits ici à la recherche pour la même solution!
cheers!
OriginalL'auteur user1722909
Assurez-vous d'avoir l' "C:\OpenCV2.4.3\build\x86\vc10\bin" ajouté au chemin d'accès. PAS(!) "C:\OpenCV2.4.3\build\x86\vc9\bin". Ce qui peut provoquer le problème.
Pour l'utilisation d'opencv avec visual studio il y a deux très bons docs:
Viual Studio 2010 et OpenCV-2-4-x
L'officiel OpenCv-Documentation
OriginalL'auteur Mr.Mountain
Vérifier dans les dossiers qui génère la compilation, parce que dans l'un d'eux est le .exe compilé, et il est possible que l'image que vous voulez ouvrir n'est pas là. Dans mon cas la .exe (dans le Debuge mode) a été en C:\Users\Name\source\repos\HolaMundox\x64\Debug et qui ne l'étaient pas, je créer mon .rpc qui était sur C:\Users\Name\source\repos\HolaMundox. Quelque chose de similaire s'applique à la mode Release.
Autre chose, c'est que vous devez vérifier bien l'extension de l'image, si elle est .jpg, .jpeg, de .bmp, et ainsi de suite... une erreur que j'ai eu était que j'ai mis le extención .jpg et il a été .jpeg.
OriginalL'auteur Ire