Opencv使用imread函数时,读到的数据为空

当使用OpenCV的imread函数读取图片数据为空时,问题可能出在配置上。应区分Debug和Release模式,分别添加对应的带d和不带d的库文件。将库文件正确配置后,程序便能正常读取图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:使用opencv的imread函数时,读到的数据为空。

程序:

        Mat img;
        string namepic="street.png";
        img = imread(namepic);

解决办法:

        OpenCV配置的问题:之前配置时为了省事儿,无论是Debug还是Release中的附加依赖项,都添加了所有的lib,也就是没有分Debug和Release。但实际上OpenCv是要分的,文件名尾带d的为Debug库函数,不带d的为Release库函数。只需将其中库函数分开添加进附加依赖项即可:

Debug库:

opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_nonfree244d.lib
opencv_objdetect244d.lib
opencv_photo244d.lib
opencv_stitching244d.lib
opencv_ts244d.lib
opencv_video244d.lib
opencv_videostab244d.lib

Release库:

opencv_calib3d244.lib
opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244.lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_nonfree244.lib
opencv_objdetect244.lib
opencv_photo244.lib
opencv_stitching244.lib
opencv_ts244.lib
opencv_video244.lib
opencv_videostab244.lib

这样修改后,再运行程序,就能够正常读取图片啦!

note:

1.上述情况是针对于opencv2.4.4的,如果是opencv2.4.8或者其他版本的opencv,直接将上述库中的244→248即可。

2.链接库如何修改截图如下:

【debug下】


【release下】


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值