MFC2-实时读取视频

来源:互联网 发布:潍坊行知学校网站 编辑:程序博客网 时间:2024/06/05 04:57

我使用到是win7+VS10+opencv2.4.9.创建MFC之后,要手动添加CvvImage,因为opencv2.3之后就去掉了对这个类的支持。如果你的可以直接用,请忽略

资源下载地址:

http://download.csdn.net/download/qq_34385827/9943311

使用picture控件来显示图像或视频,创建新的button。这一部分记得要修改控件ID

还要记得添加头文件CvvImage.h和opencv等一系列你需要用到的头文件,这里只使用了opencv.hpp

双击按钮,在{}中完成代码。

void CopencvtestDlg::OnBnClickedcamera(){// TODO: 在此添加控件通知处理程序代码CDC *pDC = GetDlgItem(IDC_STATIC)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针HDC hdc= pDC->GetSafeHdc();                      // 获取设备上下文句柄CRect rect;        // 矩形类        GetDlgItem(IDC_STATIC)->GetClientRect(&rect); //获取box1客户区        CvCapture *capture = cvCreateCameraCapture(0);  //读取视频        if(capture==NULL) {             print("NO camera");    //读取不成功,则标识             //return 1;        };            IplImage *frame;        CvvImage cimg;        while(1){                frame = cvQueryFrame( capture ); 
               if(!frame)break;
cimg.CopyOf(frame,frame->nChannels); cimg.DrawToHDC(hdc,&rect); char c = cvWaitKey(0); if(c == 27 )break; } ReleaseDC( pDC );

       cvReleaseCapture(&capture);
 }


原创粉丝点击