999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MediaPipe手勢識別:猜拳游戲(提高篇)

2023-05-30 18:46:19牟奕炫
電腦報 2023年19期

牟奕炫

在上期的基礎篇中, 我們借助MediaPipe 實現了對十個數的手勢識別(Windows 環境)。在此基礎之上我們借助樹莓派實現一個簡易的“猜拳”游戲:用戶和樹莓派都隨機出“剪子包袱錘”(與數字2、5、0 的手勢一致)中的一種,由程序來判定輸贏(輸出文字信息),同時樹莓派也用不同顏色的LED 燈提示(也可以另外添加蜂鳴器或OLED 顯示屏)。

1.實驗器材及連接

實驗硬件包括樹莓派3B+ 主板一塊,古德微擴展板一塊,攝像頭一個,紅色、綠色和黃色LED 燈各一支。將綠色和黃色LED 燈按照“長腿正、短腿負”的原則,分別插入擴展板的6 號和12 號引腳處即可。

2.庫模塊的添加、函數代碼的精簡及LED 燈的初始化

接下來,給樹莓派通電啟動操作系統,通過Windows 的遠程桌面連接進入Thonny 編輯器,開始Python 代碼的編寫。

將之前的“[01]Recognize_Number.py” 復制粘貼, 重命名為“[02]Finger_Game.py”。在庫模塊的導入部分,需要添加語句:“import random”、“import time”和“from gpiozero importLED”; 刪除計算矢量角度的finger_angle(point1,point2) 函數, 因為不再需要識別數字9(彎曲的食指);再來精簡finger_sign(tip_finger,list_data) 函數代碼:

只保留2、5 和0 三個數字的相關代碼,刪除其他7 個數字的手勢識別代碼,并將對應的變量finger_sign 分別賦值為“剪子”、“包袱”和“錘”,也就是將手勢識別結果進行重定義:當檢測到食指指尖和中指指尖同時在“凸包”區域外時,則認定該手勢為“剪刀”;當檢測到五個指尖均在“凸包”區域外時,則認定該手勢為“包袱”;當在“凸包”區域外沒有檢測到有任何手指指尖時,則認定該手勢為“錘”。

在main() 主程序的初始化部分,需要添加對三支LED 燈的引腳定義語句:“Red_LED = LED(5)”、“Green_LED = LED(6)” 和“Yellow_LED =LED(12)”。

3.“while True:”部分代碼的修改

在程序的手勢識別后半部分,新建變量your_finger 并賦值為“finger_sign(tip_finger,list_data)”,作用是“接收”通過函數調用返回后的手勢識別結果;建立三種手勢名稱的變量guess_list,賦值為“[" 剪刀"," 包袱"," 錘"]”;再建立樹莓派隨機手勢變量raspi,賦值為“random.choice(guess_list)”,通過調用random庫中的choice() 函數從guess_list 列表中隨機“抽取”一種手勢;建立變量win_list,賦值為“[[" 剪刀"," 包袱"],[" 包袱","錘"],[" 錘"," 剪刀"]]”(列表中嵌套列表數據),作用是列舉出三種“勝局”所對應的對弈情況:“剪刀”勝“包袱”、“包袱”勝“錘”、“錘”勝“剪刀”。

接下來, 建立“if your_finger:” 選擇結構(當有手勢識別信息返回時),先分別打印輸出用戶和樹莓派各自的手勢:“print(" 您出的是:",your_finger)”、“print(" 樹莓派出的是:",raspi)”;然后對二者進行判斷——如果相同(“if your_finger==raspi:”),則輸出提示信息“這是一場平局咯!”,并且控制黃色LED發光(“Yellow_LED.on()”); 如果二者所組合的列表是變量win_list 所存儲的任意一種“勝局”數據(“elif [your_finger,raspi] in win_list:”), 則輸出提示信息“祝賀——您贏,樹莓派輸啦!”,并且控制綠色LED 燈發光(“Green_LED.on()”);如果不是以上兩種情況(else分支),則輸出提示信息“sorry——樹莓派贏,您輸啦!”,并且控制紅色LED 燈發光(“Red_LED.on()”)。

添加時間延遲語句“time.sleep(3)”, 作用是確保LED 燈每次發光要持續3 秒鐘;然后,在進入下一輪游戲之前關閉LED 燈:“Yellow_LED.off()”、“Green_LED.off()” 和“Red_LED.off()”。

4.測試猜拳游戲的手勢識別

保存并運行程序,分別在攝像頭前多次嘗試剪刀、包袱和錘的隨機手勢,樹莓派同樣也會隨機產生某種手勢。程序判斷出“輸贏”結果后,會在屏幕上顯示輸出相關的提示信息,同時所對應顏色的LED燈也會發光(如圖)。

源代碼請關注壹零社公眾號,從網盤下載2023-19.zip。

主站蜘蛛池模板: 亚洲免费黄色网| 2021天堂在线亚洲精品专区| 又爽又黄又无遮挡网站| 国产精品色婷婷在线观看| 国产亚洲高清视频| 亚洲首页在线观看| 男女男免费视频网站国产| 2021亚洲精品不卡a| 午夜欧美理论2019理论| 精品撒尿视频一区二区三区| 亚洲乱伦视频| 国产AV无码专区亚洲A∨毛片| 国产午夜在线观看视频| 女人18毛片一级毛片在线 | 青草视频久久| a级高清毛片| 国产成人综合亚洲欧美在| 亚洲三级影院| 九色视频一区| 爱爱影院18禁免费| 国产91九色在线播放| 国产午夜无码专区喷水| 97在线公开视频| 亚洲国产精品不卡在线| 一级毛片在线播放免费观看| 四虎永久在线| 91精品啪在线观看国产60岁| 伊人色综合久久天天| 91麻豆国产视频| 欧美精品一区在线看| 特级毛片8级毛片免费观看| 国产精品永久在线| 亚洲精品欧美日本中文字幕| 国产第一页亚洲| 波多野结衣一区二区三区四区视频 | 日本人妻丰满熟妇区| 亚欧美国产综合| 福利在线不卡| 久久人妻系列无码一区| 亚洲三级色| 制服丝袜 91视频| 亚洲天堂视频在线播放| 日韩天堂网| 国产激爽大片高清在线观看| AV不卡国产在线观看| 中文字幕丝袜一区二区| 久久久久久国产精品mv| 91娇喘视频| 福利视频一区| 毛片在线区| 91尤物国产尤物福利在线| 免费国产小视频在线观看| 国产一级毛片yw| 999福利激情视频| 一级毛片不卡片免费观看| 亚洲乱码在线视频| 亚洲成人网在线观看| 免费国产黄线在线观看| 伊人色综合久久天天| 欧美精品亚洲二区| 久久国产香蕉| 欧美在线中文字幕| 日本高清免费不卡视频| 婷婷亚洲综合五月天在线| 国产性生大片免费观看性欧美| 色婷婷综合在线| 亚洲天堂网在线播放| 91麻豆国产精品91久久久| 试看120秒男女啪啪免费| 亚洲日韩Av中文字幕无码 | 夜夜操狠狠操| 综合色88| 午夜欧美理论2019理论| 欧美福利在线观看| 一级做a爰片久久免费| 动漫精品啪啪一区二区三区| a级毛片毛片免费观看久潮| 激情视频综合网| 老色鬼欧美精品| 色噜噜在线观看| 激情视频综合网| 亚洲中文无码av永久伊人|