Приложение My MFC запускает различные API из OpenCV2. Все остальное работает нормально. Но когда моя программа работаетСбой приложений на equalizeHist OpenCV
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. Нужно ли мне что-то делать? FYI: Я использую двоичный OpenCV, предоставляемый его веб-сайтом.
UPDATE:
Я решил эту проблему путем преобразования изображения в серо-уровня, прежде чем сравнять его. Я просто не знал,
- функция работает только с серо-уровня изображения
- изображения, которые выглядят как серо-уровня может быть не серый.
Точно. Надеюсь, вы отправили ранее. Спасибо, в любом случае. –
@Paul Я думаю, что вы обновили свой пост, когда я писал свой ответ :) – mevatron