C++ IplImage*的若干bug之二:cvReleaseImage问题

    xiaoxiao2025-08-13  7

    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*变量

    转载请注明原文地址: https://ju.6miu.com/read-1301722.html
    最新回复(0)