前言
谷歌出了一個(gè)開(kāi)源的、跨平臺(tái)的、可定制化的機(jī)器學(xué)習(xí)解決方案工具包,給在線(xiàn)流媒體(當(dāng)然也可以用于普通的視頻、圖像等)提供了機(jī)器學(xué)習(xí)解決方案。感興趣的同學(xué)可以打開(kāi)這個(gè)網(wǎng)址了解詳情:mediapipe.dev/
它提供了手勢(shì)、人體姿勢(shì)、人臉、物品等識(shí)別和追蹤功能,并提供了C++、Python、JavaScript等編程語(yǔ)言的工具包以及iOS、Android平臺(tái)的解決方案,今天我們就來(lái)看一下如何使用MediaPipe提供的手勢(shì)識(shí)別來(lái)寫(xiě)一個(gè)Python代碼識(shí)別手勢(shì)中的數(shù)字:0-5
準(zhǔn)備工作
電腦需要安裝Python3,建議安裝Python3.8.x的版本。除此之外,還需要安裝Opencv-Python、MediaPipe以及numpy幾個(gè)工具包,可以使用pip進(jìn)行安裝:
準(zhǔn)備6張圖片,分別是6張手的圖片。
編寫(xiě)程序
編寫(xiě)一個(gè)handutil.py模塊,這個(gè)handutil模塊有一個(gè)HandDetector類(lèi),提供了檢測(cè)手勢(shì)、獲取手勢(shì)數(shù)據(jù)的方法。代碼如下,詳細(xì)解釋看代碼注釋?zhuān)?/p>
編寫(xiě)另一個(gè)fingercount.py代碼,在這個(gè)代碼中,調(diào)用handutil.py的HandDetector類(lèi)提供的方法,獲取手勢(shì)數(shù)據(jù),每個(gè)手勢(shì)數(shù)據(jù)由3個(gè)數(shù)字組成:id, x, y,分別代表手勢(shì)中某個(gè)點(diǎn)以及這個(gè)點(diǎn)的x\y坐標(biāo)位置。下圖是手勢(shì)識(shí)別中每個(gè)id對(duì)應(yīng)手的部位說(shuō)明。
從上圖可知:4, 8, 12, 16, 20分別代表大拇指、食指、中指、無(wú)名指和小指的指尖。完整代碼如下:
運(yùn)行代碼,我們可以看到能夠識(shí)別手勢(shì)中的數(shù)字,并顯示對(duì)應(yīng)的圖片和數(shù)字了
到此這篇關(guān)于怎么用Python識(shí)別手勢(shì)數(shù)字的文章就介紹到這了,更多相關(guān)Python識(shí)別手勢(shì)數(shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python內(nèi)置數(shù)據(jù)類(lèi)型list各方法的性能測(cè)試過(guò)程解析
- python內(nèi)置數(shù)據(jù)類(lèi)型之列表操作
- Python中內(nèi)置數(shù)據(jù)類(lèi)型list,tuple,dict,set的區(qū)別和用法
- Python內(nèi)置數(shù)據(jù)類(lèi)型詳解
- python基礎(chǔ)教程之基本內(nèi)置數(shù)據(jù)類(lèi)型介紹
- 使用Python+OpenCV進(jìn)行卡類(lèi)型及16位卡號(hào)數(shù)字的OCR功能
- 使用python svm實(shí)現(xiàn)直接可用的手寫(xiě)數(shù)字識(shí)別
- python計(jì)算數(shù)字或者數(shù)組的階乘的實(shí)現(xiàn)
- python數(shù)字轉(zhuǎn)對(duì)應(yīng)中文的方法總結(jié)
- Python數(shù)字/字符串補(bǔ)零操作實(shí)例代碼
- Python的內(nèi)置數(shù)據(jù)類(lèi)型中的數(shù)字