Мое приложение MFC запускает различные API из OpenCV2.Все остальное работает нормально.Но когда моя программа запускает
cv::Mat result;
cv::equalizeHist(m_cvImage,result);
, я получаю следующее исключение времени выполнения.
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"
Согласно отладчику, исключение было выброшено в середине обработки (около 40%) изображения вequalizeHist.Есть ли что-нибудь, что мне нужно сделать?К вашему сведению: я использую двоичный файл OpenCV, предоставленный его веб-сайтом.
ОБНОВЛЕНИЕ:
Я решил эту проблему, преобразовав изображения в уровень серого перед выравниванием.Я просто не знал,
- функция работает только с изображениями уровня серого
- изображения, которые выглядят как уровни серого, могут быть не серыми.