圖片操作的手勢動態(tài)識別系統(tǒng)
摘要:為了實現(xiàn)圖片操作命令的手勢輸入,設(shè)計了圖片操作的手勞動態(tài)識別系統(tǒng)。系統(tǒng)以ARM(S3C6410)為硬件處理核心,利用數(shù)字圖像處理和嵌入式視覺技術(shù),由攝像頭捕捉幀圖像,經(jīng)OpenCV技術(shù)處理識別后,發(fā)出相應(yīng)命令,操作顯示屏上的圖片,實現(xiàn)了對圖片非接觸式的縮放和切換操作等功能。進(jìn)行實驗測試,取得了良好的效果,所提出的設(shè)計思想為手語輸入、機(jī)器人視覺輸入的方案設(shè)計提供了參考。
關(guān)鍵詞:手勢識別,圖片操作;ARM;OpenCV;QT/E
0 引言
數(shù)字圖像處理技術(shù)是將獲得的低質(zhì)量圖像利用計算機(jī)處理成更適合人眼觀察或儀器檢測的圖像的技術(shù)。嵌入式視覺技術(shù)是使用攝像機(jī)和計算機(jī)代替人眼對目標(biāo)進(jìn)行識別,跟蹤和測量的技術(shù)。因此。數(shù)字圖像處理技術(shù)和嵌入式視覺技術(shù)被廣泛地應(yīng)用在基于圖像的識別控制系統(tǒng)中。
當(dāng)前人機(jī)交互的主要信息輸入方式有鍵盤輸入、鼠標(biāo)輸入、觸摸屏輸入,語音輸入、視覺輸入。對于鼠標(biāo)、鍵盤和觸屏輸入方式,信息輸入者需要接觸輸入設(shè)備,而語音輸入和視覺輸入不需要接觸輸入設(shè)備。語音輸入對特定語音識別率較高,非特定語音輸入識別率低,因此語音輸入普適性差;基于視覺的輸入通過攝像頭捕捉手部運(yùn)動,將手語轉(zhuǎn)換成對應(yīng)的命令,實現(xiàn)手勢輸入,這就可以讓人擺脫人機(jī)交互時接觸的限制。本文介紹了一種基于ARM的操作圖片的手勢動態(tài)識別系統(tǒng),利用數(shù)字圖像處理技術(shù)和嵌入式視覺技術(shù),通過攝像頭捕捉手勢動態(tài)來操作顯示屏上的圖片,實現(xiàn)以非接觸的方式對圖片進(jìn)行放大、縮小、切換等操作。
1 系統(tǒng)硬件架構(gòu)
如圖1所示,手勢動態(tài)識別的硬件系統(tǒng)主要由ARM S3C6410處理器、USB攝像頭、USB控制器、LCD控制器、存儲器控制器等組成。系統(tǒng)由攝像頭獲取手勢動態(tài)的圖片,經(jīng)過S3C6410處理判斷操作者意圖,對顯示屏的圖片進(jìn)行操作。
S3C6410處理器的部分硬件特性如下:采用ARM1176JZF-S核,包含16 KB的指令數(shù)據(jù)CACHE和16KB的指令數(shù)據(jù)TCM,主頻最高可達(dá)667MHz;
支持TFT 24 b LCD屏,分辨率能支持到1 024×1 024;獨(dú)立的USB Host控制器,支持USB Host 1.1;支持(Mobile)SDRAM和(Mobile)DDR SDRAM;具有圖像處理模塊;支持JPEG編解碼功能,最大尺寸為4 096×4 096;支持對YUV420/422和RGB565/888的數(shù)據(jù)進(jìn)行硬件翻轉(zhuǎn)。
2 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件架構(gòu)主要由Linux操作系統(tǒng),OpenCV,QT/E構(gòu)成。Linux操作系統(tǒng)負(fù)責(zé)整個系統(tǒng)資源的分配和管理;OpenCV及QT/E完成圖像采集、圖像處理、動作識別、圖像顯示等功能。軟件架構(gòu)如圖2所示。
2.1 實現(xiàn)原理
本系統(tǒng)以幀差法為基礎(chǔ),通過記錄兩幀中人手的坐標(biāo)信息或者面積信息,判斷人手的運(yùn)動軌跡來操作顯示屏上的圖片。
以顯示屏的左上角為坐標(biāo)原點建立平面直角坐標(biāo)系如圖3所示。當(dāng)人手進(jìn)入攝像頭捕捉區(qū)域后,攝像頭對人手進(jìn)行2次拍照,S3C6410對獲取圖像進(jìn)行預(yù)處理,并獲取人手圖片的數(shù)據(jù)信息,將次時刻的圖片數(shù)據(jù)與前一時刻的圖片數(shù)據(jù)進(jìn)行相應(yīng)的運(yùn)算處理,即可判斷人手的運(yùn)動方向,確定操作者的意圖,從而操作顯示屏上的圖片。
評論