我是靠谱客的博主 细腻薯片,最近开发中收集的这篇文章主要介绍C++ IplImage*的若干bug之二:cvReleaseImage问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部