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

基于攝像頭的手勢控制小車

2015-11-03 04:23:58謝作如
中國信息技術教育 2015年19期

謝作如

用手勢控制小車,大家往往喜歡用加速度傳感器來實現。最簡單的做法莫過于在手機上裝一個App。這個App能檢測手機的運動方向,然后轉化為控制信息發給小車。

而我總是希望用一種更加有趣、更加自然的方式去控制小車。微軟的Kinect出來后,就有專家寫了一本書——《用最自然的方式與機器對話》。的確,在Kinect的支持下,手勢控制變得非常簡單,其互動游戲很受人歡迎(如圖1)。但對于手勢識別來說,Kinect并不是唯一的選擇,用普通攝像頭我們也能夠實現。

原理分析

在上一期文章中,我們已經大致體驗了Processing的功能。作為一款以互動為特色的開源編程語言,Processing擁有大量的擴展庫,并且提供了各種具體的應用范例。其中視頻庫支持外部攝像頭,可以實時獲取視頻畫面中的每一個像素點,并進行分析。在有效的算法支持下,我們也可以做到圖像分割、物體識別、人臉識別、動作識別、運動跟蹤等。同時,Processing支持串口編程,可以通過串口和外部設備(如Arduino)通訊。這些類似的應用,在Processing范例庫中都能夠找到,技術門檻并不高。用手勢控制小車這件作品的運行原理如圖2所示。

但由于我們使用的是普通攝像頭,當然實現不了如Kinect的動作識別效果。雖然從理論上說,Processing也能實時識別出人的手勢,但是算法非常復雜,不是中小學的學生能夠理解的。所以,我試著用另一種簡單的方式去實現,即讓小車的操控者帶上一只特殊顏色的手套或者手上拿一個特定顏色的LED燈,Processing對視頻畫面的像素點進行遍歷,找到這一顏色后,根據座標對小車發出控制信息。簡單地說,就是實現一個能夠捕捉視頻中特定顏色的程序。

視頻中特定顏色和控制信息的關系具體顯示為:圖3為小車前進,圖4為小車后退,圖5為小車左轉,圖6為小車右轉,畫面中小矩形標志的表示識別出來的顏色。

按照這樣的方式定義“上、下、左、右”的控制信息比較容易,也比較好理解。但是,如果坐標在左上角該怎么處理?如圖7所示。

如果給小車裝上指南針,應該可以實現非常酷的功能。我們可以想象,特定顏色的坐標在畫面的不同方位,就代表控制小車往哪個方向前進。試想一下“走你”的姿勢吧,手一揮,小車如離弦的箭一樣沖向目標,這種操控的樂趣怎一個“酷”字了得。而且,編程也不會太復雜,Processing只要將這個坐標相對于畫面中心點的角度發給小車即可。問題是我在寫這個范例時,手頭并沒有指南針(電子羅盤)模塊,只好放棄這一想法。對這種情況,我就當作左轉來處理。同時,我把畫面上的區域做了規劃,設定中間的區域為“停止”(如圖8)。

制作一輛藍牙小車

我的手頭有好多DFrobot公司的MiniQ小車底盤,來自我的課程“Arduino創意機器人”中使用的機器人套件。“Arduino創意機器人”課程已經全部開源,關于小車的搭建步驟詳見我們的課程資源。當然,只要加上一塊藍牙模塊,任何一輛Arduino小車都可以。圖9為帶藍牙的MiniQ小車。

一般而言,藍牙模塊有4條線需要和Arduino連接,分別為5V、GND、TX和RX。5V和GND要和Arduino上的5V和GND一一對應,但是RX接在Arduino的TX上,TX要接在Arduino的RX上。因為我選擇的藍牙模塊也是DFrobot公司的,小車使用的控制板為RoMeo V1,上面已經集成了藍牙模塊接口,插上就可以直接使用,不用另外接線。

對于小車的編程,我使用Mixly。Mixly(中文名為米思齊)是北師大創客教育實驗室推出的一款新的Arduino圖形化編程軟件,基于Blockly開發,界面友好,功能比ArduBlock更加強大。Mixly軟件的界面如圖10所示。

Mixly使用Java開發,需要先安裝Java環境,建議安裝Java8.0。Mixly為綠色軟件,解壓后運行Mixly.jar文件即可。Mixly的下載地址:http://maker.bnu.edu.cn/,最新版本為0.94。Java的下載地址:http://www.java.com/zh_CN/download/。

Mixly的代碼如圖11所示。我用1、2、3、4鍵來表示“上、下、左、右”。下載代碼后,建議大家先用手機測試控制是否正常。當然,你的手機要裝有藍牙串口助手之類的App。

Processing編程

Processing編程是這件作品的重點所在,在“原理分析”部分我已經具體介紹了這個程序的核心功能,即獲取攝像頭畫面中某個色彩,然后分析該色彩的坐標,根據所在區域,通過串口發送控制信息給小車。

代碼中的frameRate(8)指畫面的幀數,太小了有延時,太大了又會占用太多的CPU資源。我用cnt變量來控制每秒鐘發送的控制信息,這需要在實踐中不斷地調試(如圖12)。

結語

在實際測試中,我發現自己對小車的控制不是很流暢,還需要進一步優化。但從用手機控制小車的角度來看,我還是達到了預設的目標。當然,如果你對視覺識別感興趣,最好還是研究OpenCV,這也是一個著名的開源跨平臺計算機視覺庫,能實現更多的功能。

主站蜘蛛池模板: 香蕉综合在线视频91| 亚洲欧洲日产无码AV| 亚洲精品va| 毛片在线区| 日韩AV无码一区| 国产手机在线ΑⅤ片无码观看| 麻豆国产原创视频在线播放| 国产日韩丝袜一二三区| 深夜福利视频一区二区| 谁有在线观看日韩亚洲最新视频| 亚卅精品无码久久毛片乌克兰| 伊人91在线| 中国特黄美女一级视频| 欧美在线天堂| 天堂网亚洲综合在线| 欧美在线国产| a级毛片免费在线观看| aaa国产一级毛片| 精品久久国产综合精麻豆| 亚洲成人免费在线| 波多野结衣一区二区三区88| 亚洲性视频网站| 韩日午夜在线资源一区二区| 91精品国产一区| 国产精品护士| 天堂岛国av无码免费无禁网站| 亚洲一区网站| 99久久精品久久久久久婷婷| 97国产精品视频自在拍| 国产91精选在线观看| 国产亚洲精品在天天在线麻豆 | 色九九视频| 无码乱人伦一区二区亚洲一| 久久精品娱乐亚洲领先| 四虎精品黑人视频| 91免费国产在线观看尤物| 亚洲婷婷丁香| 又猛又黄又爽无遮挡的视频网站| 中文字幕无码电影| 亚洲男人天堂网址| 国产成熟女人性满足视频| 成人91在线| 欧美一级夜夜爽www| 国产精品第| 国产精品九九视频| 国产精品精品视频| 污污网站在线观看| 全免费a级毛片免费看不卡| 日本爱爱精品一区二区| 欧美日韩国产一级| 亚洲综合色区在线播放2019| 国产拍在线| 婷婷色丁香综合激情| 国产精品妖精视频| 亚洲精品色AV无码看| jizz亚洲高清在线观看| 欧美成人免费| 亚洲VA中文字幕| 玖玖免费视频在线观看| 国产成人综合久久精品下载| 国内熟女少妇一线天| 国产成人三级在线观看视频| 网友自拍视频精品区| 国产h视频免费观看| 真人高潮娇喘嗯啊在线观看| 国产在线视频福利资源站| 国产精品99r8在线观看| 国产麻豆va精品视频| 国产日韩精品欧美一区灰| 麻豆AV网站免费进入| 亚洲91精品视频| 欧美97色| 国产精品人人做人人爽人人添| 国产农村妇女精品一二区| 成人午夜亚洲影视在线观看| 亚洲无码A视频在线| 亚洲最猛黑人xxxx黑人猛交| 国产精品成| 国内精品伊人久久久久7777人| 色综合久久久久8天国| 夜夜操国产| 四虎永久在线精品影院|