怎麼用Python識別手勢數字

前言

谷歌出瞭一個開源的、跨平臺的、可定制化的機器學習解決方案工具包,給在線流媒體(當然也可以用於普通的視頻、圖像等)提供瞭機器學習解決方案。感興趣的同學可以打開這個網址瞭解詳情:mediapipe.dev/

image-20210422112313073

它提供瞭手勢、人體姿勢、人臉、物品等識別和追蹤功能,並提供瞭C++、Python、JavaScript等編程語言的工具包以及iOS、Android平臺的解決方案,今天我們就來看一下如何使用MediaPipe提供的手勢識別來寫一個Python代碼識別手勢中的數字:0-5

hand_crops.png

準備工作

電腦需要安裝Python3,建議安裝Python3.8.x的版本。除此之外,還需要安裝Opencv-Python、MediaPipe以及numpy幾個工具包,可以使用pip進行安裝:

準備6張圖片,分別是6張手的圖片。

image-20210424155201904.png

編寫程序

編寫一個handutil.py模塊,這個handutil模塊有一個HandDetector類,提供瞭檢測手勢、獲取手勢數據的方法。代碼如下,詳細解釋看代碼註釋:

編寫另一個fingercount.py代碼,在這個代碼中,調用handutil.py的HandDetector類提供的方法,獲取手勢數據,每個手勢數據由3個數字組成:id, x, y,分別代表手勢中某個點以及這個點的x\y坐標位置。下圖是手勢識別中每個id對應手的部位說明。

hand_landmarks.png

從上圖可知:4, 8, 12, 16, 20分別代表大拇指、食指、中指、無名指和小指的指尖。完整代碼如下:

運行代碼,我們可以看到能夠識別手勢中的數字,並顯示對應的圖片和數字瞭

到此這篇關於怎麼用Python識別手勢數字的文章就介紹到這瞭,更多相關Python識別手勢數字內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!