欢迎来到天天文库
浏览记录
ID:27902384
大小:133.50 KB
页数:4页
时间:2018-12-06
《基于Dragoboard 410c开发板的简单手型识别方案.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Dragoboard410c开发板的简单手型识别方案 手势交互是未来人机交互领域发展的一个重要方向,本文将参考使用Opencv实现静态手势识别玩转石头剪刀布一文,教大家如何在Dragoboard410c开发板上使用Python脚本语言实现简单的手型识别,通过从USB摄像头获取手型图像,然后识别出石头-剪刀-布三个手型。 具体实现步骤如下: 1)获取USB摄像头图像: 这里主要是通过Opencv提供的Python接口cv2,具体可以参考410c板获取USB摄像头图像一文,里面详细介绍了在dragonboard410c上使用USB摄像头获取图像。 2)设置手
2、势区域 在视频区域内设置一个手势区域,只有将手放入到该区域,系统才可以正确的识别手型,其他区域的系统不做处理,具体代码如下: #设置手型区域 cv2.rectangle(img,(426,0),(640,250),(170,170,0)) #获取手型区域图像并保存 img=img[0:210,426:640] cv2.imwrite(“wif.jpg”,img) 3)对检测区域进行图像处理,其核心代码如下: img=cv2.imread(“wif.jpg”,0) element=cv2.getStructuringElement(cv2.MORPH_RE
3、CT,(11,11)) dilate=cv2.dilate(img,element) erode=cv2.erode(img,element) result=cv2.absdiff(dilate,erode); retval,result=cv2.threshold(result,40,255,cv2.THRESH_BINARY); result=cv2.bitwise_not(result); result=cv2.medianBlur(result,23) 4)判断手型,其中部分核心代码如下: ifwidth[i]=40: width_jiandao
4、=False width_length+=width[i] ifwidth_jiandao==Trueandcount==2: return1; if(area14000orcount>=3): #print’paper‘; return2; if(width_length<110): #print’rock‘; return1; else: #print’paper‘; return2; 到这里我们就完成了整个手型识别的核心部分,具体的代码较长,直接附件http://pan.baidu.com/s/1kUKSxoV,用该代码运行就可以进行手型检
5、测,效果如下图所示,虽然不准确,但是基本上可以检测出三种不同的手型:
此文档下载收益归作者所有