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

首頁 > 編程 > Python > 正文

OpenCV+python手勢識別框架和實例講解

2020-01-04 14:52:46
字體:
來源:轉載
供稿:網友

基于OpenCV2.4.8和 python 2.7實現簡單的手勢識別。

以下為基本步驟

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

2. RGB->YUV,同時計算直方圖

3.進行形態學濾波,提取感興趣的區域

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

5.找到最大的手型輪廓

6.找到手型輪廓的凸包

7.標記手指和手掌

8.把提取的特征點和手勢字典中的進行比對,然后判斷手勢和形狀

提取手的輪廓 cv2.findContours()

OpenCV,python,手勢識別

找到最大凸包cv2.convexHull(),然后找到手掌和手指的相對位置,定位手型的輪廓和關鍵點,包括手掌的中心,手指的相對位置

OpenCV,python,手勢識別

特征字典主要包括以下幾個方面:名字,手掌中心點,手掌的直徑,手指的坐標點,手指的個數,每個手指之間的角度

例如:

# 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 --------------------------------------#

最終的識別結果如下:

OpenCV,python,手勢識別

示例代碼

  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手勢識別框架和實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南充市| 抚远县| 仲巴县| 崇左市| 灵寿县| 临桂县| 通辽市| 定结县| 全椒县| 都江堰市| 江源县| 荆门市| 巫山县| 罗江县| 鸡东县| 方山县| 措勤县| 河北区| 灌阳县| 镇雄县| 馆陶县| 泌阳县| 永泰县| 威宁| 兖州市| 泰顺县| 和田县| 文山县| 织金县| 嘉善县| 肃宁县| 买车| 乾安县| 靖州| 和田市| 白城市| 盖州市| 西城区| 武义县| 大埔县| 鄂伦春自治旗|