Mon application MFC exécute diverses API à partir d'OpenCV2. Tout le reste fonctionne bien. Mais quand mon programme s'exécuteL'application tombe en panne sur equalizeHist d'OpenCV
cv::Mat result;
cv::equalizeHist(m_cvImage,result);
Je reçois l'exception d'exécution suivante.
Unhandled exception at 0x7727fbae in OpenCVTest.exe: Microsoft C++ exception: cv::Exception at memory location 0x0029e944..
"C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\histogram.cpp:2430: error: (-215) CV_ARE_SIZES_EQ(src, dst) && CV_ARE_TYPES_EQ(src, dst) && CV_MAT_TYPE(src->type) == CV_8UC1"
Selon débogueur, l'exception a été levée dans le milieu de traitement (environ 40%) dans l'image equalizeHist. Y a-t-il quelque chose que je dois faire? FYI: J'utilise OpenCV binaire fourni par son site web.
MISE À JOUR:
J'ai résolu ce problème en convertissant les images à niveaux de gris avant l'égalisation il. Je ne savais pas
- la fonction fonctionne uniquement avec une image de niveau de gris
- images qui ressemblent à des niveaux de gris peut être non-gris.
Exactement. J'espère que vous avez posté plus tôt. Merci quand même. –
@Paul Je pense que vous aviez mis à jour votre message pendant que j'écrivais ma réponse :) – mevatron