opencv常见问题(1)Microsoft C++ 异常:cv::Exception

今天,在写程序的时候,突然报了个错误:
错误截图
想必大家遇到错误第一反应都是问度娘!
于是乎,我顺手百度了一下,果然,遇到与此类似的问题还真不少。
0x76BBA932 处(位于 OpenCV.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x00AEEF48 处。
但是,和我一样的问题却出现在不同的程序中,这就奇怪了。

首要任务
:检查环境配置,当然,我这里不多说,我是win10+vs2015
看了一下,重点检查连接器那部分,并没有错误,后来一想,我前面程序运行的没毛病,也没调用什么东东,环境变量不会自己修改的呀!

第二步
:有关图片路径问题
各种用”/”,不能用“\”之类的,那就改吧,动手改了一下,没解决,诶呀,这个之前读的也没问题,这个是会引起类似的问题,但是我把图片放在工程里,用的不是绝对路径,所以不影响。

第三步
:图片格式
这个问题是说可能把格式写成了”XXX.png.png”就是本身已经有扩展名了,但是隐藏了,结果你又手动添加了一次,把它当作了文件名,这种错误绝对不可能。
百思不得其解,内存问题,是存储格式吗?
写了这么多没贴代码,证明这个问题不是由于代码本身造成的。

可是
无解就得从代码看起了。
各种设断点,加imshow。最后发现我出错的代码行。
现在来说一下我出问题的那句代码,很简单的一句
imageROI = a(Rect(200,200, image.cols, image.rows));
这样看,没毛病。

再看看
rect函数到底怎么了。
猛然发现:
矩形左上角座标设置的过大,导致内存出问题!
把200改成0,结果问题解决了。

欸:
不要总是寄希望于百度,具体问题还得具体分析!
有同样问题的你,是不是该用心看一下,你们使用的函数参数设置对了吗?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章