kinect开发教程三:利用openni进行手势识别

kinect开发教程三:利用openni进行手势识别

ID:13001893

大小:188.50 KB

页数:7页

时间:2018-07-20

kinect开发教程三:利用openni进行手势识别_第1页
kinect开发教程三:利用openni进行手势识别_第2页
kinect开发教程三:利用openni进行手势识别_第3页
kinect开发教程三:利用openni进行手势识别_第4页
kinect开发教程三:利用openni进行手势识别_第5页
资源描述:

《kinect开发教程三:利用openni进行手势识别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、这是第二个范例,小斤将介绍如何使用OpenNI让Kinect识别出手势,并显示输出。目前版本的OpenNI支持四种手势:RaiseHand,Wave,Click和MovingHand,分别代表手的“举起”,“挥动”,“前推”和“移动”四种动作。值得一提的是,当前微软官方的KinectSDK还不支持手势识别,也可以说是使用OpenNI的好处之一吧。有了手势识别后,其实可以利用Kinect做一些实际的东东,比如利用鼠标键盘控制一些应用程序等等。闲话不说了,速度搞起。代码一部分参考了Heresy童鞋的文章,手势部分写得很完备了,在巨人的肩膀上,小斤使用OpenCV进行显示,红色点表示手的位置轨迹,

2、蓝色实心圈表示前推的位置,黄色直线表示手挥动的轨迹(从起点到终点)。[cpp]viewplaincopy1#include2#include3#include"opencv/cv.h"4#include"opencv/highgui.h"5#include67usingnamespacestd;8usingnamespacecv;910//outputforXnPoint3D11ostream&operator<<(ostream&out,constXnPoint3D&rPoint)12{13out<<"("<

3、nt.X<<","<

4、DPosition<<"to"<<*pEndPosition<X));13imgStartY=(int)(480/2-(pIDPosition->Y));14imgEndX=(int)(640/2-(pEndPosition->X));15imgEndY=(int)(480/2-(pEndPosition->Y));1617IplIm

5、age*refimage=(IplImage*)pCookie;18if(strcmp(strGesture,"RaiseHand")==0)19{20cvCircle(refimage,cvPoint(imgStartX,imgStartY),1,CV_RGB(255,0,0),2);21}22elseif(strcmp(strGesture,"Wave")==0)23{24cvLine(refimage,cvPoint(imgStartX,imgStartY),cvPoint(imgEndX,imgEndY),CV_RGB(255,255,0),6);25}26elseif(strcmp

6、(strGesture,"Click")==0)27{28cvCircle(refimage,cvPoint(imgStartX,imgStartY),6,CV_RGB(0,0,255),12);29}3031cvSetImageROI(refimage,cvRect(40,450,640,30));32CvFontfont;33cvInitFont(&font,CV_FONT_VECTOR0,1,1,0,3,5);34cvSet(refimage,cvScalar(255,255,255));35sprintf(locationinfo,"From:%d,%dto%d,%d",(int)p

7、IDPosition->X,(int)pIDPosition->Y,(int)(pEndPosition->X),(int)(pEndPosition->Y));36cvPutText(refimage,locationinfo,cvPoint(30,30),&font,CV_RGB(0,0,0));37cvResetImageROI(refimage);38}3940voidclearImg(IplImag

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。