萌新求助,MFC+OpenCV,实现摄像头捕捉图像。

void CMFCDlg::On_CaptureImage()
{
	// TODO: 在此添加控件通知处理程序代码


	//m_grabframe = cvQueryFrame(Capture);
	m_grabframe = frame;
	if (m_grabframe == 0)
	{
		MessageBox(_T("摄像头已关闭,无法捕捉图像!!!"));
		return;
	}

	CString ImagePath = TEXT("D:\\Documents\\qq\\");

	if (!PathIsDirectory(ImagePath))

	{
		CreateDirectory(ImagePath, 0);//不存在则创建
		MessageBox(_T("标定图片文件夹已创建!!!"));
		return;
	}
	char ImagesName[100];

	ImgNum = ImgNum + 1;

	sprintf_s(ImagesName, "%s%.2d%s", "D:\\Documents\\qq\\", ImgNum, ".jpg");

	IplImage * m_snap = cvCreateImage(cvGetSize(m_grabframe), m_grabframe->depth, m_grabframe->nChannels);
	cvCopy(m_grabframe, m_snap, NULL);
	cvSaveImage(ImagesName, m_snap); //把图像写入指定文件夹的文件中去

									 //以下代码是完成图像的显示过程
	pDC = GetDlgItem(IDC_PIC1_STATIC)->GetDC();//GetDlgItem(IDC_PIC_STATIC)意思为获取显示控件的句柄(句柄就是指针),获取显示控件的DC

	GetDlgItem(IDC_PIC1_STATIC)->GetClientRect(&rect);

	hDC = pDC->GetSafeHdc();//获取显示控件的句柄

	CvvImage m_CvvImage;
	m_CvvImage.CopyOf(m_snap, 1); //复制该帧图像   
	m_CvvImage.DrawToHDC(hDC, &rect); //显示到设备环境的矩形框内
}

一直在pDC = GetDlgItem(IDC_PIC1_STATIC)->GetDC()这句中断,提示cv::Exception

希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10993204.html

你Debug下调试一下:GetDlgItem(IDC_PIC1_STATIC)返回值是什么?是不是返回NULL ?