国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

OpenCV+python手勢(shì)識(shí)別框架和實(shí)例講解

2020-02-15 22:40:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

基于OpenCV2.4.8和 python 2.7實(shí)現(xiàn)簡(jiǎn)單的手勢(shì)識(shí)別。

以下為基本步驟

1.去除背景,提取手的輪廓

2. RGB->YUV,同時(shí)計(jì)算直方圖

3.進(jìn)行形態(tài)學(xué)濾波,提取感興趣的區(qū)域

4.找到二值化的圖像輪廓

5.找到最大的手型輪廓

6.找到手型輪廓的凸包

7.標(biāo)記手指和手掌

8.把提取的特征點(diǎn)和手勢(shì)字典中的進(jìn)行比對(duì),然后判斷手勢(shì)和形狀

提取手的輪廓 cv2.findContours()

找到最大凸包c(diǎn)v2.convexHull(),然后找到手掌和手指的相對(duì)位置,定位手型的輪廓和關(guān)鍵點(diǎn),包括手掌的中心,手指的相對(duì)位置

特征字典主要包括以下幾個(gè)方面:名字,手掌中心點(diǎn),手掌的直徑,手指的坐標(biāo)點(diǎn),手指的個(gè)數(shù),每個(gè)手指之間的角度

例如:

# BEGIN ------------------------------------#V=gesture("V")V.set_palm((475,225),45)V.set_finger_pos([(490,90),(415,105)])V.calc_angles()dict[V.getname()]=V# END --------------------------------------#

最終的識(shí)別結(jié)果如下:

示例代碼

  frame=hand_threshold(fg_frame,hand_histogram)  contour_frame=np.copy(frame)  contours,hierarchy=cv2.findContours(contour_frame,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)  found,hand_contour=hand_contour_find(contours)  if(found):   hand_convex_hull=cv2.convexHull(hand_contour)   frame,hand_center,hand_radius,hand_size_score=mark_hand_center(frame_original,hand_contour)   if(hand_size_score):    frame,finger,palm=mark_fingers(frame,hand_convex_hull,hand_center,hand_radius)    frame,gesture_found=find_gesture(frame,finger,palm)  else:   frame=frame_original

以上這篇OpenCV+python手勢(shì)識(shí)別框架和實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 通城县| 锡林浩特市| 晴隆县| 沽源县| 渭源县| 闽清县| 兖州市| 南汇区| 涿州市| 泸西县| 宾川县| 湾仔区| 三江| 福贡县| 安乡县| 南丰县| 黄山市| 莱芜市| 贵德县| 哈尔滨市| 浦东新区| 开封市| 洱源县| 迭部县| 宁海县| 墨竹工卡县| 玉环县| 孝义市| 徐汇区| 基隆市| 元朗区| 古蔺县| 岳西县| 宁南县| 淮北市| 汝南县| 胶南市| 闽清县| 卢龙县| 定远县| 澳门|