Проблема с чтением изображения с использованием функции "cv:: imread" в OpenCv

У меня возникла проблема с некоторым базовым кодом OpenCV. Вот мой код:

 cv::Mat src;
 src=imread("Calibration.bmp",0);

 if (src.empty())
  cout << "Cannot load image" << " ";
 else
  cout << src.cols << " " << src.rows << " ";

Unfortunatelly cv:: imread возвращает матрицу NULL с любым входным изображением (я пробовал .bmp,.jpg). Похоже, что имя файла работает нормально (программа не заканчивается ошибкой), так как неправильное имя файла генерирует сообщение об ошибке. Я попытался использовать oldstyle "CvLoadImage", но тот же результат произошел. Кто-нибудь знает, как это исправить?

Ответ 1

Хорошо, я исправил проблему... Проблема возникает, когда вы смешиваете выпуск и отлаживаете библиотеки OpenCV. Я изменил пути и имена библиотек в свойствах проекта, и "cv:: imread" работает отлично.

Ответ 2

У меня было такое поведение при попытке загрузить растровое изображение ARGB (которое я пытался загрузить с цветом). Преобразование битмапа в RGB (24bpp) решило проблему.