Opencv2.1在VS2010下imread(..)调用图片失败

萨斯特的风 2010-08-22 10:45:55
刚在VS2010下配置好Opencv2.1,使用的LIB及INCLUDE文件路径已经包含,并且DLL路径也加到系统PATH中了,现在问题是编译通过了,但是新建了一个工程,就是配置Opencv中显示"lena.jpg"代码。
运行后提示“Can not load image lena.jpg”. 调试到imread(..)返回值为NULL.换成其他代码也不能读取图片,这里确定不是图片路径问题,我使用绝对路径及fopen(..)函数调试过,使用fopen能够读到图片的.
弄了一下午了,还没搞定,请教一下,是生成的源库文件问题吗?真不知道什么问题了
...全文
6297 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
长尾巴的悟空 2013-05-18
  • 打赏
  • 举报
回复
我来混点分的~ 哈哈,只要一分哦~
阿君AI研究 2013-05-18
  • 打赏
  • 举报
回复
引用 9 楼 ITDeng 的回复:
[Quote=引用 3 楼 的回复:] 把链接的库改为opencv_calib3d2xxd.dll这种debug类型的。 [/Quote] ++修改了之后可以用了
还真是可以用了,不知道是为什么呢
夏梦c 2013-01-23
  • 打赏
  • 举报
回复
引用 13 楼 jing_min_870610 的回复:
我现在也遇到这个问题 请问怎么解决?
将你包含得库文件修改为debug类型就可以了 一般来说就是opencv_core231.lib格式修改为opencv_core231d.lib
jing_min_870610 2012-12-18
  • 打赏
  • 举报
回复
我现在也遇到这个问题 请问怎么解决?
mysteryrat 2012-11-10
  • 打赏
  • 举报
回复
哥我发现了非常弱智的可能:我就是这种错误,但错误的根源很简单,图片格式的后缀写错了,例程上的是lena.jpg 而我的是lena.bmp.....哥我毛了5天
yybing 2012-08-21
  • 打赏
  • 举报
回复
imread的时候把输入路径自动加了一个pb.的字符串,这是神马问题了?
highgui还不能用unicode编译……
饿滴神呀
NND,VS2010太难用了……
ITDeng 2012-08-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

把链接的库改为opencv_calib3d2xxd.dll这种debug类型的。
[/Quote]
++修改了之后可以用了
wqvbjhc 2012-08-01
  • 打赏
  • 举报
回复
运行后提示“Can not load image lena.jpg”
说明找不到图片,你使用图片的绝对路径读入吧。不要使用相对路径。
CSC_HELEN 2012-05-08
  • 打赏
  • 举报
回复
还有,你看下你那个img的结构的指针里有没有把图像的信息获取出来,如果有获取出来的话,那证明
highgui 里的一个readdata()函数没有获取到图像的数据~~
CSC_HELEN 2012-05-08
  • 打赏
  • 举报
回复
opencv 图像加载的部分主要是在highgui这个库里实现的,你安装opencv的时候,里面有一个highgui开源的代码的,建议楼主直接调试跟踪进去,看下哪里错了~
liu286202388 2012-05-08
  • 打赏
  • 举报
回复
这种问题有没有解绝的啊?今天搞了一下午还是没有找到真正的原因,是不是vs2010和opencv2.3两一起用的时候需要注意什么?
libing64 2012-02-23
  • 打赏
  • 举报
回复
对,还是使用cvLoadimage("Filename",1);来读入吧
然后cvshowImage("windowName",&image);显示
qifeifei 2012-02-22
  • 打赏
  • 举报
回复
cvLoadImage
从文件中读取图像

/* 8 bit, color or gray - deprecated, use CV_LOAD_IMAGE_ANYCOLOR */
#define CV_LOAD_IMAGE_UNCHANGED -1
/* 8 bit, gray */
#define CV_LOAD_IMAGE_GRAYSCALE 0
/* 8 bit unless combined with CV_LOAD_IMAGE_ANYDEPTH, color */
#define CV_LOAD_IMAGE_COLOR 1
/* any depth, if specified on its own gray */
#define CV_LOAD_IMAGE_ANYDEPTH 2
/* by itself equivalent to CV_LOAD_IMAGE_UNCHANGED
but can be modified with CV_LOAD_IMAGE_ANYDEPTH */
#define CV_LOAD_IMAGE_ANYCOLOR 4
IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );
filename
要被读入的文件的文件名。
flags
指定读入图像的颜色和深度:
指定的颜色可以将输入的图片转为3信道(CV_LOAD_IMAGE_COLOR), 单信道 (CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。
深度指定输入的图像是否转为每个颜色信道每象素8位,(OpenCV的早期版本一样),或者同输入的图像一样保持不变。
选中CV_LOAD_IMAGE_ANYDEPTH,则输入图像格式可以为8位无符号,16位无符号,32位有符号或者32位浮点型。
如果输入有冲突的标志,将采用较小的数字值。比如CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR 将载入3信道图。CV_LOAD_IMAGE_ANYCOLOR和CV_LOAD_IMAGE_UNCHANGED是等值的。但是,CV_LOAD_IMAGE_ANYCOLOR有着可以和CV_LOAD_IMAGE_ANYDEPTH同时使用的优点,所以CV_LOAD_IMAGE_UNCHANGED不再使用了。
如果想要载入最真实的图像,选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR。
函数cvLoadImage从指定文件读入图像,返回读入图像的指针。目前支持如下文件格式:

Windows位图文件 - BMP, DIB;
JPEG文件 - JPEG, JPG, JPE;
便携式网络图片 - PNG;
便携式图像格式 - PBM,PGM,PPM;
Sun rasters - SR,RAS;
TIFF文件 - TIFF,TIF;
OpenEXR HDR 图片 - EXR;
JPEG 2000 图片- jp2。
cvSaveImage
保存图像到文件

用这种格式吧,我刚开始也用你那个格式,后来觉得这个好,希望对你有用。
孤灯残云 2012-02-20
  • 打赏
  • 举报
回复
把链接的库改为opencv_calib3d2xxd.dll这种debug类型的。
zyc102030058 2011-12-12
  • 打赏
  • 举报
回复
我现在也遇到这个问题 请问怎么解决?
荣荣向新 2011-01-12
  • 打赏
  • 举报
回复
我也遇到同样的问题,不知道呢解决了么?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧