编译opencv程序错误调试集合

来源:互联网 发布:什么软件可以下载图片 编辑:程序博客网 时间:2024/06/05 11:57

持续更新中……

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1,提示:Debug Assertion Failed!
这里写图片描述
由于调试可以知道,程序是在这句出错的:

cvReleaseImage(&img);   //释放图像指针内存

所以这个错误是指:释放内存是出错
原因分析:
cvReleaseImage()和cvCreateImage()相对应的。在程序中如果没有“创建”就不能“释放”。所以,如果我们使用的指针不是用cvCreateImage()创建的。如果使用cvReleaseImage()就会出现错误。

解决方案:

可以使用img= NULL;来释放内存。因为cvReleaseImage()的作用就是将作为参数的那个指针设置为NULL;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2,提示这个警告:Unhandled exception at 0x774F0192 in 1-showimage.exe: Microsoft C++ exception: cv::Exception at memory location 0x005CF97C.
这里写图片描述
这里写图片描述

第一种情况分析:
原因分析:使用inshow 函数出现opencv error assertion failed,错误的原因是因为我在配置环境的时候漏了lib文件。
解决方案:重新在属性框中配置附加依赖项。
第二种情况分析:
原因分析:我使用cvLoadImage()函数加载一副图像(例:IplImage * src = cvLoadImage(“baboon.jpg”);),而图像对应的路径是错误的,源程序下的图像名是:楪析.jpg,而我写的的是baboon.jpg,这就所以图像加载错误导致了VS报这个错误。
解决方案:把图像地址改过来就好了。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

待续……

1 0
原创粉丝点击