c++ - IplImage 的 cvLoadImage 工作,但 cv::Mat 的 cv::imread 不工作

标签 c++ visual-studio opencv image-processing

我遇到了一个奇怪的问题,我无法使用 cv::imread 从文件系统读取基本图像文件。因此,以下结果导致 imageInput 具有空数据,行和列设置为 0。

cv::Mat imageInput =  cv::Mat();
imageInput = cv::imread("abc.jpg",cv::IMREAD_COLOR);

有趣的是,将上面的代码注释掉后,下面的代码就可以读取imge了:

//cv::Mat imageInput =  cv::Mat();
//imageInput = cv::imread("abc.jpg",cv::IMREAD_COLOR);
IplImage *rImg;
rImg = cvLoadImage("abc.jpg", CV_LOAD_IMAGE_COLOR);

rImg 得到预期的宽度 3296 和高度 2256。
我不知道这怎么可能。请帮忙。 在这两种情况下,构建似乎都很好。我尝试同时使用 opencv-2.4.5 和 opencv-2.4.6

最佳答案

我现在已经能够弄清楚这个问题了。
问题是提到发布构建静态库而不是调试构建静态库。
早些时候,对于 VC++ 项目,我在 Debug模式下包含以下 lib 依赖项:opencv_core245.lib;opencv_highgui245.lib;opencv_imgproc245.lib;opencv_video245.lib

将其更改为 opencv_core245d.lib;opencv_highgui245d.lib;opencv_imgproc245d.lib;opencv_video245d.lib 后,我可以使用 imread 毫无问题地读取图像。

关于c++ - IplImage 的 cvLoadImage 工作,但 cv::Mat 的 cv::imread 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200893/

相关文章:

c++ - 有哪些使用 PostgreSQL 以 C/C++ 编写的开源应用程序?

c++ - 在继承的构造函数中仅 move 类参数

.net - 如何从 Visual Studio 中的另一个解决方案调试项目?

python - 在python中识别图像的像素格式(如RGB,CMYK,LAB..等)

c++ - 返回子类型的成员模板函数

python - boost::python 可以将对象的所有权传递给 python 回调函数吗?

visual-studio - 有没有办法从 msbuild 获取属性的值?

visual-studio - Visual Studio 在线本地备份?

python - 从移动对象中获取的点列表

python - cython中ndarray的opencv翻转顺序-OpenCV错误