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

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

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


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

撰寫程式
- 撰寫一個handutil.py模塊,這個handutil模塊有一個HandDetector類,提供了檢測手勢、獲取手勢資料的方法,代碼如下,詳細解釋看代碼注釋:

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

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

運行代碼,我們可以看到能夠識別手勢中的數字,并顯示對應的圖片和數字了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/286314.html
標籤:python
