目錄
- 1、效果圖
- 2、手勢識別關鍵步驟
- (1) 導入必要的庫
- (2)配置 MediaPipe
- (3)啟動攝像頭
- (4)設置手指張開判斷的距離閾值
- (5)計算手指之間的歐幾里得距離
- (6)處理視頻流
- (7)計算和顯示手指張開的數量
- (8)顯示圖像
- (9)按鍵退出
- (10)資源釋放
- 3、源碼下載
- 技術交流
博主介紹:
計算機科班人,全棧工程師,掌握C、C#、Java、Python、Android等主流編程語言,同時也熟練掌握mysql、oracle、sqlserver等主流數據庫,能夠為大家提供全方位的技術支持和交流。
具有豐富的項目經驗和開發技能。提供相關的學習資料、程序開發、技術解答、代碼講解、文檔報告等專業服務。
🍅文末獲取源碼🍅
👇🏻 精彩專欄推薦訂閱👇🏻 不然下次找不到我喲
《精品項目實戰》
1、效果圖
2、手勢識別關鍵步驟
(1) 導入必要的庫
- MediaPipe:用于手部識別和關鍵點檢測。
- OpenCV:用于視頻捕捉和圖像處理。
- NumPy:用于數值計算,特別是在計算手指之間的距離時。
(2)配置 MediaPipe
- 配置 MediaPipe 的手部識別工具,設置了識別模式、最大手數、最小檢測信度和最小跟蹤信度。
(3)啟動攝像頭
- 使用 OpenCV 打開默認攝像頭,并設置窗口可調整大小。
(4)設置手指張開判斷的距離閾值
- 定義
FINGER_THRESHOLD
,用于判斷手指是否張開。該值需要根據實際情況進行調整。
(5)計算手指之間的歐幾里得距離
- 定義函數
calculate_distance
,通過手指尖和根部的坐標計算兩點之間的歐幾里得距離,用于判斷手指是否張開。
(6)處理視頻流
- 通過攝像頭連續讀取圖像幀。
- 對每一幀圖像進行處理:轉換顏色空間并使用 MediaPipe 進行手部識別。
- 如果檢測到手部關鍵點,繪制手部關鍵點,并計算手指尖與根部之間的距離來判斷手指是否張開。
(7)計算和顯示手指張開的數量
- 遍歷所有識別到的手部,檢查每根手指的距離,累加張開的手指數。
- 使用 OpenCV 在圖像上顯示張開手指的數量,并輸出到控制臺。
(8)顯示圖像
- 使用 OpenCV 顯示處理后的圖像,并實時更新。
(9)按鍵退出
- 按
q
鍵退出程序,釋放攝像頭資源并關閉所有 OpenCV 窗口。
(10)資源釋放
- 釋放攝像頭資源,關閉所有 OpenCV 創建的窗口。
3、源碼下載
https://download.csdn.net/download/xch_yang/90779470
技術交流
大家點贊、收藏、關注、評論啦!
精彩專欄推薦訂閱:在下方專欄👇🏻👇🏻👇🏻👇🏻
《精品項目實戰》
更多技術干貨,請持續關注程序員大佬超。
原創不易,轉載請務必注明出處。