Advertisement

C语言及OpenCV指针未正确释放的问题

阅读量:

在图像处理项目执行过程中,系统运行状态保持正常,但在关闭图像显示界面时,系统自动触发了一个断点提示。当用户选择继续操作后,界面随即呈现出如下所示的画面:

程序执行过程中,断点设置在释放指针的操作代码处。针对此现象,具体分析原因如下:

  1. 错误地使用free函数对IplImage*类型指针进行内存释放
复制代码
 IplImage* input = cvLoadImage("data/LOGO/2_1.jpg");//待测图

    
 IplImage* test  = cvLoadImage("data/LOGO/1_1.jpg"); //基准图
    
    
    
    
复制代码
 free(input);

    
 free(test);
    
    
    
    

IplImage*是OpenCV库中专门用于保存图像数据的结构体,其内存管理方式与常规指针不同,不能通过free函数进行释放,正确的处理方式应参照如下方法:

复制代码
 cvReleaseImage(&input);

    
 cvReleaseImage(&te

全部评论 (0)

还没有任何评论哟~