Opencv+QT逐帧播放视频的内存泄漏问题以及解决方案

Opencv+QT逐帧播放视频的内存泄漏问题以及解决方案

内存泄漏:没有释放已经不能使用的内存,通常堆的内存需要显式的释放。
1、新建的图像

IplImage* image= cvCreateImage(cvSize(width,height),8,1);
CvMat* imgMat = cvCreateMat(width, height, CV_8U);
//显式释放
cvReleaseImage(&image);
cvReleaseMat(&imgMat);

2、获取视频帧

CvCapture* pCapture;
pFrame = cvQueryFrame(pCapture)
//释放
cvReleaseCapture(&pCapture);

3、在QT中显示的图像

qImage = new QImage(QSize(width, height), QImage::Format_RGB888);
tempImage = cvCreateImageHeader(cvSize(width,height), 8, 3);
//释放
delete qImage;
cvReleaseImageHeader(&tempImage);
发布了110 篇原创文章 · 获赞 66 · 访问量 31万+
展开阅读全文

VS2010opencv写qt5界面显示视频,必须cvShowImage先显示,否则QT中视频不显示

10-30

运行时界面如下: ![图片说明](https://img-ask.csdn.net/upload/201510/30/1446193695_629268.png) 代码如下: ``` void QT5video::showvideo() { ui.startBtn->setEnabled(false); ui.closeBtn->setEnabled(true); //声明IplImage指针 IplImage* pFrame = NULL; IplImage * return_frame; //获取摄像头 CvCapture* pCapture = cvCreateCameraCapture(0); //创建窗口 cvNamedWindow("监控视频",1); // cvNamedWindow("缺陷监测", 1); //显示视屏 while(1) { pFrame=cvQueryFrame( pCapture ); if(!pFrame)break; IplImage *img = pFrame; QImage qImage=QImage((const uchar*)img->imageData, img->width, img->height,img->widthStep, QImage::Format_RGB888).rgbSwapped(); ui.label_JK->setPixmap(QPixmap::fromImage(qImage)); return_frame=ControlsCountours(pFrame); IplImage *return_img = return_frame; QImage return_qImage=QImage((unsigned char * )return_img->imageDataOrigin,return_img->width,return_img->height,return_img->widthStep,QImage::Format_RGB888); ui.label_QX->setPixmap(QPixmap::fromImage(return_qImage,0)); cvShowImage("监控视频",pFrame); // cvShowImage("缺陷监测",return_frame); char c=cvWaitKey(330); if(c==27)break; } //cvWaitKey(0); cvReleaseCapture(&pCapture); cvReleaseImage(&return_frame); cvDestroyWindow("监控视频"); //cvDestroyWindow("缺陷监测"); } ``` 要是把 cvNamedWindow("监控视频",1); cvShowImage("监控视频",pFrame); cvDestroyWindow("监控视频"); 这三条语句全部注释掉的话,那么运行之后只会出现QT界面,此时点击任何按钮都是不好使的,而且还使程序卡死了,如下图: ![图片说明](https://img-ask.csdn.net/upload/201510/30/1446194094_629201.png) 请求好心大神们解答~ 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览