C及opencv指针释放问题
2018-03-13 15:24
155 查看
一个图像处理的项目运行时没有问题,最后关掉显示的图片时提醒触发一个断点,点击继续则出现以下画面:
断点停留在释放指针的那一行。究其原因如下:
1.错用free释放IplImage*IplImage* input = cvLoadImage("data/LOGO/2_1.jpg");//待测图
IplImage* test = cvLoadImage("data/LOGO/1_1.jpg"); //基准图
cvReleaseImage(&test);2、malloc与free不对应unsigned char* colors1 = (unsigned char*)input->imageData;
unsigned char* colors2 = (unsigned char*)test->imageData;
断点停留在释放指针的那一行。究其原因如下:
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(&test);2、malloc与free不对应unsigned char* colors1 = (unsigned char*)input->imageData;
unsigned char* colors2 = (unsigned char*)test->imageData;
free(colors1); free(colors2);一个malloc对应一个free,而上述指针不是用malloc申请的动态内存空间,所以不能用free去释放。但怎么处理不知道,先注释掉了。
相关文章推荐
- strcat拼接两个字符指针后,释放内存崩溃问题
- OpenCV 释放 vector 内存莫名崩溃的问题
- 关于未对齐指针释放问题(Non-aligned pointer being freed)
- c++指针存储应用程序和释放内存的问题
- 释放队列元素包含的指针指向的区域问题
- 关于delete释放指针要注意的问题
- 【opencv学习】关于Mat释放的问题
- 有关动态创建释放二维数组,以及指向数组的指针问题集合 .
- 面试中遇到的问题:一个指针重复释放会出现什么情况
- C语言堆内存管理上出现的问题,内存泄露,野指针使用,非法释放指针
- 含有指针成员的对象的内存的开辟和释放需要注意的问题
- 结构体包含二级指针和二级指针内存的申请与释放问题
- 【C++】使用局部变量赋值而非引用,导致内存多次释放的野指针问题
- Opencv中导致内存增加的cvFindContours释放问题
- 【C++】使用局部变量赋值而非引用,导致内存多次释放的野指针问题
- 有关动态创建释放二维数组,以及指向数组的指针问题集合
- 认识 free指针背后(释放内存大小问题)
- 关于opencv中Vector内存释放或者元素清空的问题
- C++指针释放问题
- 一个简单的指针释放问题