概述
1、源代码:
IplImage* image_src;
//定义IplImage*变量
IplImage *image = cvLoadImage(“test.jpg”);
//加载一幅图片
int width
= image->width;
int height = image->height;
if(width < 1 || height < 1){
cout<<" width = "<<width<<", height = "<<height<<endl;
cvReleaseImage(&image_src);
cvReleaseImage(&image);
return -1;
}
image_src = cvCloneImage(image);
此段代码编译无误可以通过,但在运行过程中,程序会在cvReleaseImage(&image_src);处退出,且无任何错误提示。
2、修改后代码:
IplImage *image = cvLoadImage(“test.jpg”);
//加载一幅图片
int width
= image->width;
int height = image->height;
if(width < 1 || height < 1){
cout<<" width = "<<width<<", height = "<<height<<endl;
cvReleaseImage(&image);
return -1;
}
IplImage *image_src = cvCloneImage(image);
运行通过。
3、2017.01.06补充:
在1、源代码中,程序会在cvReleaseImage(&image_src);处退出的原因应该是,我在最初申请image_src时,没做初始化,所以无从释放,可修改如下:
IplImage* image_src = NULL;
//定义IplImage*变量
最后
以上就是细腻薯片为你收集整理的C++ IplImage*的若干bug之二:cvReleaseImage问题的全部内容,希望文章能够帮你解决C++ IplImage*的若干bug之二:cvReleaseImage问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复