超好玩的"隔空操物"通過Python?MediaPipe庫實現(xiàn)
?? 文章簡介 :本篇文章的實戰(zhàn)部分中主要使用到了 MediaPipe 與 OpenCv 兩個庫,實現(xiàn)了隔空操作的效果,主要有**隔空操作鼠標,隔空繪畫,隔空控制音量與隔空手勢識別 **??
使用這個編程語言,我實現(xiàn)了隔空操物!!
1.項目效果展示
項目主要分為四個部分,分別是
- 隔空音量控制
- 隔空繪畫
- 隔空識別手勢
- 隔空操作鼠標
下面是這四部分的演示效果
1.1:隔空音量控制
1.2:隔空繪畫
1.3 :手勢識別
1.4:鼠標模擬
2.所涉及到的庫
上面這些應用的實現(xiàn)主要涉及到了兩個庫
- OpenCv
- MediaPipe
2.1:OpenCv簡介
OpenCV是一個基于Apache2.0許可發(fā)行的跨平臺計算機視覺與機器學習的軟件庫。
可以運行在多種操作系統(tǒng),例如Linux,Window,Mac OS等等。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。
2.2:MediaPipe簡介
MediaPipe是一由Google開發(fā)并開源的數(shù)據(jù)流處理機器學習應用開發(fā)框架。
它是一個基于圖的數(shù)據(jù)處理管線,用于構(gòu)建使用了多種形式的數(shù)據(jù)源,如視頻、音頻、傳感器數(shù)據(jù)以及任何時間序列數(shù)據(jù)。
MediaPipe是跨平臺的,可以運行在多種操作系統(tǒng),工作站和服務器上,并支持移動端GPU加速。
使用MediaPipe,可以將機器學習任務構(gòu)建為一個圖形的模塊表示的數(shù)據(jù)流管道,包括推理模型和流媒體處理功能。
3.項目環(huán)境搭建
這些應用的環(huán)境方便比較簡單,可以直接在pycharm里面進行安裝對應的庫即可使用。如果遇到庫不能下載或者是超時,可以進行pip換源下載,本應用使用Python進行編寫
4.源碼部分
應用涉及到的源碼比較多,這里就不一 一進行貼出來了。
想要實踐一下的同學可以私信我獲取,或者是直接點擊文章底部關(guān)注公眾號,點擊聯(lián)系我添加備注源碼獲取 下面是關(guān)鍵部分代碼的一些截取內(nèi)容。
cap = cv2.VideoCapture(0) #若使用外接攝像頭 則更改為1或其他編號 cap.set(3, wCam) cap.set(4, hCam) pTime = 0 detector = handDetector() success, img = cap.read() img = detector.findHands(img) lmList = detector.findPosition(img, draw=False) pointList = [4, 8, 12, 16, 20] if len(lmList) != 0: countList = [] if lmList[4][1] > lmList[3][1]: countList.append(1) else: countList.append(0) for i in range(1, 5): if lmList[pointList[i]][2] < lmList[pointList[i] - 2][2]: countList.append(1) else: countList.append(0) count = countList.count(1) HandImage = cv2.imread(f'FingerImg/{count}.jpg') HandImage = cv2.resize(HandImage, (150, 200)) h, w, c = HandImage.shape img[0:h, 0:w] = HandImage cv2.putText(img, f'{int(count)}', (15, 400), cv2.FONT_HERSHEY_PLAIN, 15, (255, 0, 255), 10)
5.總結(jié)
上面這四個項目主要是調(diào)用到了一些機器學習的庫進行代碼的編寫。感興趣的小伙伴可以導入項目在自己的電腦上進行實操一下。
到此這篇關(guān)于超好玩的"隔空操物"通過Python MediaPipe庫實現(xiàn)的文章就介紹到這了,更多相關(guān)Python 隔空操物內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中cv2.projectPoints的用法小結(jié)
這篇文章主要介紹了python中cv2.projectPoints的用法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12python斯皮爾曼spearman相關(guān)性分析實例
這篇文章主要為大家介紹了python斯皮爾曼spearman相關(guān)性分析實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02Python機器學習pytorch交叉熵損失函數(shù)的深刻理解
這篇文章主要為大家介紹了Python機器學習中對交叉熵損失函數(shù)的深刻理解,文中作出了詳細易懂的講解,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10