OpenCV(一) 打开一个摄像头
2013-03-12 18:30
281 查看
最近要打开一个摄像头,然后使用OpenCV的cvCreateCameraCapture(-1)函数发现打开摄像头失败。我的电脑系统是Win7,然后我拿到XP系统下去运行,发现可以打开摄像头。
下面顺便贴出代码VC6.0的一个MFC工程
void CMyDlg::OnFileOpen()
{
// TODO: Add your control notification handler code here
cvNamedWindow("video", 1);
pCapture = cvCreateCameraCapture(-1);
SetTimer(1,100,NULL); //每隔一段时间读出一帧视频图像
}
void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
pFrame=cvQueryFrame(pCapture);
CDC *pDC = GetDlgItem(IDC_srcp)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect; // 矩形类
GetDlgItem(IDC_srcp)->GetClientRect(&rect); // 获取box1客户区
CvvImage cimg; //
cimg.CopyOf(pFrame,1); //参数1代表通道数,故此ShowPicture(int nID, IplImage *Image)函数只能显示单通道图像
cimg.DrawToHDC(hdc,&rect); //输出图像
ReleaseDC( pDC );
cimg.Destroy(); //销毁
CDialog::OnTimer(nIDEvent);
}
void CMyDlg::OnCancelMode()
{
CDialog::OnCancelMode();
// TODO: Add your message handler code here
}
以上在XP系统下可以正常打开摄像头,只是在Win7打开时失败。下一篇介绍使用DirectShow可以打开多个摄像头。
下面顺便贴出代码VC6.0的一个MFC工程
void CMyDlg::OnFileOpen()
{
// TODO: Add your control notification handler code here
cvNamedWindow("video", 1);
pCapture = cvCreateCameraCapture(-1);
SetTimer(1,100,NULL); //每隔一段时间读出一帧视频图像
}
void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
pFrame=cvQueryFrame(pCapture);
CDC *pDC = GetDlgItem(IDC_srcp)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect; // 矩形类
GetDlgItem(IDC_srcp)->GetClientRect(&rect); // 获取box1客户区
CvvImage cimg; //
cimg.CopyOf(pFrame,1); //参数1代表通道数,故此ShowPicture(int nID, IplImage *Image)函数只能显示单通道图像
cimg.DrawToHDC(hdc,&rect); //输出图像
ReleaseDC( pDC );
cimg.Destroy(); //销毁
CDialog::OnTimer(nIDEvent);
}
void CMyDlg::OnCancelMode()
{
CDialog::OnCancelMode();
// TODO: Add your message handler code here
}
以上在XP系统下可以正常打开摄像头,只是在Win7打开时失败。下一篇介绍使用DirectShow可以打开多个摄像头。
相关文章推荐
- 一个基于MFC多线程和Opencv库的打开两个摄像头实例
- opencv环境的搭建,并打开一个本地PC摄像头。
- OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)
- 关于opencv无法打开win7笔记本摄像头问题
- python 用opencv 打开摄像头
- 【OpenCV】VideoCapture单步调试能够成功打开摄像头,但执行时却打不开
- opencv:打开摄像头
- opencv 学习第一天 如何打开一个视频
- opencv打开摄像头显示视频
- Opencv打开内置摄像头
- 【OpenCV自学笔记】Day2 摄像头的打开和测试
- opencv打开双目摄像头、图像切割保存
- openCV打开摄像头的两个方法
- 注释一个opencv摄像头程序
- Ubuntu11.10以上OpenCV2.3.1库无法打开摄像头的解决方案
- ubuntu 下opencv2.4.0 打开摄像头
- opencv打开摄像头
- opencv2.4.8在win7下无法打开摄像头,或者摄像头灰色图像的解决方案
- MFC中使用Opencv打开摄像头并显示
- 注释一个opencv摄像头程序