在OpenCv中使用"cv :: imread"函数读取图像的问题

Mar*_*cin 18 opencv visual-studio-2008

我遇到了一些基本的OpenCV代码问题.这是我的代码:

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

 if (src.empty())
  cout << "Cannot load image" << " ";
 else
  cout << src.cols << " " << src.rows << " ";
Run Code Online (Sandbox Code Playgroud)

不幸的是,cv :: imread返回任何类型的输入图像的NULL矩阵(我试过.bmp,.jpg).文件名似乎工作正常(程序不会以错误结束),因为使用错误的文件名会生成错误消息.我尝试过使用oldstyle"CvLoadImage",但结果却一样.有谁知道如何解决这个问题?

Mar*_*cin 24

好的,我修复了问题...当您混合发布和调试OpenCV库时出现问题.我在项目属性中更改了路径和库名称,"cv :: imread"工作得很好.

  • 在OpenCV\lib目录中,您应该找到两种类型的.lib文件(例如:cv210.lib和cv210d.lib).如果要在调试模式下构建解决方案,则应在项目属性中链接到cv210d.lib,如果要在发布模式下构建解决方案,则应链接到cv210.lib.同样的事情对应于来自OpenCV/bin dorectory的dll文件.我希望它会有所帮助,并且抱歉没有回复一段时间:/ (9认同)