MediaPipe介紹
這個(gè)是真的,首先需要從Google在2020年發(fā)布的mediapipe開發(fā)包說起,這個(gè)開發(fā)包集成了人臉、眼睛、虹膜、手勢(shì)、姿態(tài)等各種landmark檢測(cè)與跟蹤算法。
https://google.github.io/mediapipe/
請(qǐng)看下圖比較詳細(xì)
是個(gè)不折不扣的現(xiàn)實(shí)增強(qiáng)的寶藏工具包,特別實(shí)用!支持的平臺(tái)跟語言也非常的豐富,圖示如下:
只說一遍,感覺要逆天了,依賴庫(kù)只有一個(gè)就是opencv,python版本的安裝特別簡(jiǎn)單,直接運(yùn)行下面的命令行:
pip install mediapipe
手勢(shì)landmark檢測(cè)
直接運(yùn)行官方提供的Python演示程序,需要稍微修改一下,因?yàn)榘姹靖铝?,演示程序有點(diǎn)問題,改完之后執(zhí)行運(yùn)行視頻測(cè)試,完美get到手勢(shì)landmark關(guān)鍵點(diǎn):
手勢(shì)landmark的關(guān)鍵點(diǎn)編號(hào)與解釋如下:
修改后的代碼如下:
importcv2
importmediapipeasmp
mp_drawing=mp.solutions.drawing_utils
mp_hands=mp.solutions.hands
#Forwebcaminput:
cap=cv2.VideoCapture(0)
withmp_hands.Hands(
min_detection_confidence=0.5,
min_tracking_confidence=0.5)ashands:
whilecap.isOpened():
success,image=cap.read()
ifnotsuccess:
print("Ignoringemptycameraframe.")
#Ifloadingavideo,use'break'insteadof'continue'.
continue
#Toimproveperformance,optionallymarktheimageasnotwriteableto
#passbyreference.
image.flags.writeable=False
image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
results=hands.process(image)
#Drawthehandannotationsontheimage.
image.flags.writeable=True
image=cv2.cvtColor(image,cv2.COLOR_RGB2BGR)
ifresults.multi_hand_landmarks:
forhand_landmarksinresults.multi_hand_landmarks:
mp_drawing.draw_landmarks(
image,
hand_landmarks,
mp_hands.HAND_CONNECTIONS)
cv2.imwrite('D:/result.png',cv2.flip(image,1))
#Fliptheimagehorizontallyforaselfie-viewdisplay.
cv2.imshow('MediaPipeHands',cv2.flip(image,1))
ifcv2.waitKey(5)&0xFF==27:
break
cap.release()
手勢(shì)識(shí)別
基于最簡(jiǎn)單的圖象分類,收集了幾百?gòu)垐D象,做了一個(gè)簡(jiǎn)單的遷移學(xué)習(xí),實(shí)現(xiàn)了三種手勢(shì)分類,運(yùn)行請(qǐng)看視頻:
-
手勢(shì)識(shí)別
+關(guān)注
關(guān)注
8文章
222瀏覽量
47738 -
跟蹤算法
+關(guān)注
關(guān)注
0文章
40瀏覽量
12998 -
OpenCV
+關(guān)注
關(guān)注
29文章
623瀏覽量
41177
原文標(biāo)題:MediaPipe + OpenCV五分鐘搞定手勢(shì)識(shí)別
文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論