我正在尝试使用OpenCV2.2中的imread函数。
我的代码非常简单。
cv::Mat host= imread("1.bmp", CV_LOAD_IMAGE_GRAYSCALE);在此之后,主机矩阵被零指针填充,即未加载图像。
如果我使用cvLoadImage,那么一切都会正常工作。
该文件已经存在,我没有混用发行库和调试库。为什么imread不能工作?
发布于 2014-01-27 17:02:39
使用opencv 2.4.8重现。
如果你在Debug中运行,检查你是否也在使用调试库,它解决了我们的问题。:OpenCV imread(filename) fails in debug mode when using release libraries。
发布于 2013-11-10 18:14:05
我在2.4.6版本中也遇到了同样的问题。原因是在选择库时,我同时选择了调试版本和发布版本。当我只为库选择调试版本时,一切工作正常
发布于 2011-09-15 16:07:55
我可以确认,OpenCV 2.2中的imread存在一些问题。然而,这些问题只出现在Windows 32位系统上。在linux和mac上,它都可以工作。我不知道为什么它不工作,但我们有一个小的变通方法。
我们用下面的宏解决了这个问题,也许你可以尝试一下,从那时起使用"ourImread“。
#ifdef WIN32
#define ourImread(filename, isColor) cvLoadImage(filename.c_str(), isColor)
#else
#define ourImread(filename, isColor) imread(filename, isColor)
#endifhttps://stackoverflow.com/questions/7417637
复制相似问题