我使用到是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 );
cimg.CopyOf(frame,frame->nChannels); cimg.DrawToHDC(hdc,&rect); char c = cvWaitKey(0); if(c == 27 )break; } ReleaseDC( pDC );if(!frame)break;
cvReleaseCapture(&capture);
}