一,引言
在MFC中利用OpenCV可以很方便的实现摄像头视频的播放,对于从摄像头中读取到的图片,可以利用MFC中的CImage类很好的呈现在MFC界面上。
二,实验环境
VS版本:VS2013
OpenCVC库版本:OpenCV2.3.1
三,实现步骤
1.首先采用VS2013新建基于对话框的MFC应用程序
2.添加Picture Control,用于显示从摄像头中读取的图片
3.在对话框头文件中添加如下成员变量
VideoCapture m_videoCp;//用于获取摄像头设备
Mat m_frame;//用于读取摄像头中图片
CImage m_img;//用于MFC显示图片
4.添加定时器
5.在OnInitDialog()中添加如下实现代码
m_videoCp.open(0);
if (m_videoCp.isOpened())
{
m_videoCp.read(m_frame);
m_blOpen = TRUE;//代表摄像头打开成功
Invalidate(FALSE);
SetTimer(1,100,NULL);//启动定时器,定时从摄像头中读取图片
}
6.定时器OnTimer(UINT_PTR nIDEvent)中添加如下代码
switch (nIDEvent)
{
case 1:
if (m_videoCp.isOpened())
{
m_videoCp.read(m_frame);
Mat2CIm