Marcin
Marcin

Reputation: 1124

Issue with reading an image using "cv::imread" function in OpenCv

I have got a problem with some basic OpenCV code. Here is my code:

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

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

Unfortunatelly cv::imread returns NULL matrix with any kind of input image (I have tried .bmp, .jpg). The filename seems to be working fine (program does not end with error), as using wrong filename generates an error message. I have tried using oldstyle "CvLoadImage" but same result occurred. Does anyone have any idea how to fix this?

Upvotes: 19

Views: 22406

Answers (2)

Philipp
Philipp

Reputation: 11833

I had this behavior when trying to load an ARGB bitmap image (which I tried to load with color). Converting the bitmap to RGB (24bpp) solved the problem.

Upvotes: 0

Marcin
Marcin

Reputation: 1124

Ok, I fixed the problem... Problem arises when you are mixing up release and debug OpenCV libs. I've changed paths and libs names in project properties and "cv::imread" works just fine.

Upvotes: 26

Related Questions