用于IplImage工作的cvLoadImage,但cv :: imread for cv :: Mat无效

时间:2013-08-13 04:48:24

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

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

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

有趣的是,在注释掉上面的代码后,下面的代码能够读取iamge:

//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

1 个答案:

答案 0 :(得分:0)

我现在能够找出问题。
问题是提到了发布构建静态库而不是debug-build静态库 在VC ++项目早期,我在调试模式中包含以下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读取图片而不会出现任何问题。