91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-03 21:25:38 來源:腳本之家 閱讀:224 作者:靜默虛空 欄目:開發技術

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

揭西县| 葵青区| 慈溪市| 南江县| 洱源县| 封开县| 浑源县| 阜新| 大同县| 台南市| 三明市| 江口县| 白沙| 乌海市| 梨树县| 阳山县| 江川县| 江城| 尼木县| 富源县| 衡阳县| 徐闻县| 睢宁县| 阳曲县| 乌鲁木齐县| 潢川县| 金寨县| 丰台区| 柳州市| 黎川县| 堆龙德庆县| 武冈市| 庆城县| 民权县| 靖远县| 富民县| 大城县| 绥宁县| 炉霍县| 双江| 黔东|