vs2010使用openCV中的imread读不到图片问题的解决方法

本人最近初学openCV ,其间就遇到了这个问题,上网搜索了一下,发现很多网友都有这个问题,网上也没有很明确的解释,在这里,我就详细的说明一下。就按照发生问题到解决问题的顺序来讲述吧。本人小菜,求轻喷。


首先,我刚开始学习openCV的第一课,显示图像,本该很简单,代码也就几行而已,代码如下:
#include  
using namespace cv;  //包含cv命名空间
void main( )
{    
// 载入图像
Mat srcImage = imread("1.jpg");
// 显示载入的图片
imshow("image",srcImage);
// 等待任意按键按下
waitKey(0);
}  


运行后有错误提示:EX1.exe 中的 0x7664c42d 处有未经处理的异常: Microsoft C++ 异常: 内存位置 0x0046fba0 处的 cv::Exception。


上网查了一下,网上的解释说这个错误最有可能的问题是内存溢出,也就是图片太大或者图片没有放在工程目录下,大家如果碰到这个问题的话也可以参考一下。但是我检查了一下,并不是这种错误,然后单步调试下发现,图片根本就没有读进去,如图:


vs2010使用openCV中的imread读不到图片问题的解决方法


经过很长时间的排查后,终于发现了问题所在:


这是配置opencv的dll问题,程序运行的是debug,但是opencv的dll确实Release。或者是运行是Release,但opencv的dll却是debug


在debug模式下,项目的properties->configurations properties->linker->input->additional dependencies中的lib库都是xxxd.lib,
而在release模式下,lib库都是xxx.lib,如图:
vs2010使用openCV中的imread读不到图片问题的解决方法


上图是debug下的,下面再上release配置的:


vs2010使用openCV中的imread读不到图片问题的解决方法
请大家注意二者附加依赖项的区别,顺便要记得,项目下的dll文件也要换一换哦,希望能够对大家有帮助~
  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值