推荐星级:
- 1
- 2
- 3
- 4
- 5
Opencv常见的内存泄露错误
资料介绍
文档为Opencv常见的内存泄露错误总结文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,
部分文件列表
文件名 | 大小 |
Opencv常见的内存泄露错误.pdf | 189K |
部分页面预览
(完整内容请下载后查看)Opencv 常见的内存泄露错误
[日期:2011-04-24]
来源:Linux社区
作者:bigloomy
今天花了一个晚上的时间帮一个网友调试 opencv的代码,出现了不少错误,其中主要的错误给出它的主函数来分
析下:
#include "iostream"
#include "stdio.h"
#include "cv.h"
#include "highgui.h"
//#include "yundongjiance.h"
//#include "zhencha.h"
using namespace std;
void main()
{
IplImage* pImage=NULL;
IplImage* n_pImage=NULL;//当前帧图像
IplImage* m_pImage=NULL;//前一帧图像
IplImage* n_ch = NULL;
IplImage* rImage = NULL; //返回图像
int num=1; //帧数
//m_pImage = cvCreateImage(cvSize(pImage->width,pImage->height),IPL_DEPTH_8U,3);
//创建窗口
cvNamedWindow("video1",1);
cvNamedWindow("video2",1);
cvNamedWindow("video3",1);
//使窗口有序排列 bi
cvMoveWindow("video1",30,0);
cvMoveWindow("video2",690,0);
cvMoveWindow("video3",360,400);
CvCapture *pCapture=cvCaptureFromAVI("01.avi"); //抓取视频文件
pImage=cvCreateImage(cvSize(432,324),IPL_DEPTH_8U,3);
for(num=1;num<=10;num++)
{
//取 1000帧
pImage = cvQueryFrame(pCapture); //逐帧选取
if (!pImage) break;
if(num==1)
{
m_pImage = cvCreateImage(cvSize(pImage->width,pImage->height),IPL_DEPTH_8U,3);
n_pImage = cvCreateImage(cvSize(pImage->width,pImage->height),IPL_DEPTH_8U,3);
n_ch = cvCreateImage(cvSize(pImage->width,pImage->height),IPL_DEPTH_8U,3);
rImage = cvCreateImage(cvSize(pImage->width,pImage->height),IPL_DEPTH_8U,3);
//原点在左上角
m_pImage->origin=1;
n_pImage->origin=1;
n_ch->origin = 1;
全部评论(0)