第六章 KinectV2结合MFC显示和处理图像数据(上)

第六章   KinectV2结合MFC显示和处理图像数据(上)

 

首先声明一下,本系统所使用的开发环境版本是计算机系统Windows 10、Visual Studio 2013、Opencv3.0和Kinect SDK v2.0。这些都可以在百度上找到,download下来安装一下即可。详情参考本系列第二篇KinectV2结合opencv入门开发以及一些相关的学习资料

其实只要用前面几章的知识就差不多可以把基本功能实现了,只不过实在控制台下,没有一个好用的交互界面,不方便使用,更不能发挥Kinect的体感方面的优势。想到前面的基础程序是在C++基础上写的,故选了一个好入门的平台--MFC,说好入门不是说MFC简单,只是因为MFC比较成熟,学习资料较多,如果前面是在C#基础上写的,那肯定首选WPF了。MFC那么多内容,这里不便说清楚,我也说不清楚,只能大概说一下本系统的简单界面。

 

一、用电脑的摄像头代替Kinect的程序

 

核心的代码如下:

 

VideoCapture capture;	//定义一个摄像头类型的对象
 capture.open(0);	//打开摄像头
//AfxMessageBox("OK");
if (!capture.isOpened())	//判断是否打开摄像头
{
MessageBox(_T("无法打开摄像头"));
return;
}
//保存视频
writer = cvCreateVideoWriter("MyVideo.avi", CV_FOURCC('x', 'v', 'I', 'D'), 25, cvSize(640, 480));
// 测试
//IplImage* m_Frame;
Mat cframe;	//定义一个Mat类对象,用来存放摄像头的图像流
capture >> cframe;
IplImage* iframe;
iframe = &IplImage(cframe);	//Mat转IplImage
DrawPicToHDC(iframe, IDC_PIC_STATIC);	//显示摄像头获取的图像
//cvWaitKey(10);
 
// 设置计时器,每10ms触发一次事件
SetTimer(1, 10, NULL);

 

运行截图:

 

这是一个非简单的小demo,实现了普通相机的功能,就是录像和拍照啊之类的,基于MFC平台写的,非常简单,而且有详细注释,这里就不做过多的解释。这里给出整个过程的下载地址:

http://download.csdn.net/detail/baolinq/9618271

 

二、基于MFC平台的Kinect程序

 

有了上部分的基础,电脑摄像头和Kinect都是一种摄像头,只是Kinect相机更高端一点,是RGBD相机,很容易类比过去,把电脑摄像头换成kinect相机就差不多了。说起来是这么简单,一两句话的事,但这只是一种思想,如果真的用程序去实现还是有一定的难度。一起来看一下。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值