圖片操作的手勢(shì)動(dòng)態(tài)識(shí)別系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了實(shí)現(xiàn)圖片操作命令的手勢(shì)輸入,設(shè)計(jì)了圖片操作的手勞動(dòng)態(tài)識(shí)別系統(tǒng)。系統(tǒng)以ARM(S3C6410)為硬件處理核心,利用數(shù)字圖像處理和嵌入式視覺(jué)技術(shù),由攝像頭捕捉幀圖像,經(jīng)OpenCV技術(shù)處理識(shí)別后,發(fā)出相應(yīng)命令,操作顯示屏上的圖片,實(shí)現(xiàn)了對(duì)圖片非接觸式的縮放和切換操作等功能。進(jìn)行實(shí)驗(yàn)測(cè)試,取得了良好的效果,所提出的設(shè)計(jì)思想為手語(yǔ)輸入、機(jī)器人視覺(jué)輸入的方案設(shè)計(jì)提供了參考。
關(guān)鍵詞:手勢(shì)識(shí)別,圖片操作;ARM;OpenCV;QT/E
0 引言
數(shù)字圖像處理技術(shù)是將獲得的低質(zhì)量圖像利用計(jì)算機(jī)處理成更適合人眼觀察或儀器檢測(cè)的圖像的技術(shù)。嵌入式視覺(jué)技術(shù)是使用攝像機(jī)和計(jì)算機(jī)代替人眼對(duì)目標(biāo)進(jìn)行識(shí)別,跟蹤和測(cè)量的技術(shù)。因此。數(shù)字圖像處理技術(shù)和嵌入式視覺(jué)技術(shù)被廣泛地應(yīng)用在基于圖像的識(shí)別控制系統(tǒng)中。
當(dāng)前人機(jī)交互的主要信息輸入方式有鍵盤(pán)輸入、鼠標(biāo)輸入、觸摸屏輸入,語(yǔ)音輸入、視覺(jué)輸入。對(duì)于鼠標(biāo)、鍵盤(pán)和觸屏輸入方式,信息輸入者需要接觸輸入設(shè)備,而語(yǔ)音輸入和視覺(jué)輸入不需要接觸輸入設(shè)備。語(yǔ)音輸入對(duì)特定語(yǔ)音識(shí)別率較高,非特定語(yǔ)音輸入識(shí)別率低,因此語(yǔ)音輸入普適性差;基于視覺(jué)的輸入通過(guò)攝像頭捕捉手部運(yùn)動(dòng),將手語(yǔ)轉(zhuǎn)換成對(duì)應(yīng)的命令,實(shí)現(xiàn)手勢(shì)輸入,這就可以讓人擺脫人機(jī)交互時(shí)接觸的限制。本文介紹了一種基于ARM的操作圖片的手勢(shì)動(dòng)態(tài)識(shí)別系統(tǒng),利用數(shù)字圖像處理技術(shù)和嵌入式視覺(jué)技術(shù),通過(guò)攝像頭捕捉手勢(shì)動(dòng)態(tài)來(lái)操作顯示屏上的圖片,實(shí)現(xiàn)以非接觸的方式對(duì)圖片進(jìn)行放大、縮小、切換等操作。
1 系統(tǒng)硬件架構(gòu)
如圖1所示,手勢(shì)動(dòng)態(tài)識(shí)別的硬件系統(tǒng)主要由ARM S3C6410處理器、USB攝像頭、USB控制器、LCD控制器、存儲(chǔ)器控制器等組成。系統(tǒng)由攝像頭獲取手勢(shì)動(dòng)態(tài)的圖片,經(jīng)過(guò)S3C6410處理判斷操作者意圖,對(duì)顯示屏的圖片進(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;支持對(duì)YUV420/422和RGB565/888的數(shù)據(jù)進(jìn)行硬件翻轉(zhuǎn)。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件架構(gòu)主要由Linux操作系統(tǒng),OpenCV,QT/E構(gòu)成。Linux操作系統(tǒng)負(fù)責(zé)整個(gè)系統(tǒng)資源的分配和管理;OpenCV及QT/E完成圖像采集、圖像處理、動(dòng)作識(shí)別、圖像顯示等功能。軟件架構(gòu)如圖2所示。
2.1 實(shí)現(xiàn)原理
本系統(tǒng)以幀差法為基礎(chǔ),通過(guò)記錄兩幀中人手的坐標(biāo)信息或者面積信息,判斷人手的運(yùn)動(dòng)軌跡來(lái)操作顯示屏上的圖片。
以顯示屏的左上角為坐標(biāo)原點(diǎn)建立平面直角坐標(biāo)系如圖3所示。當(dāng)人手進(jìn)入攝像頭捕捉區(qū)域后,攝像頭對(duì)人手進(jìn)行2次拍照,S3C6410對(duì)獲取圖像進(jìn)行預(yù)處理,并獲取人手圖片的數(shù)據(jù)信息,將次時(shí)刻的圖片數(shù)據(jù)與前一時(shí)刻的圖片數(shù)據(jù)進(jìn)行相應(yīng)的運(yùn)算處理,即可判斷人手的運(yùn)動(dòng)方向,確定操作者的意圖,從而操作顯示屏上的圖片。
[!--empirenews.page--]
本系統(tǒng)設(shè)置兩種圖片操作模式:切換和縮放。當(dāng)處于切換模式時(shí),根據(jù)圖片中人手在前后兩幀圖片的中位置坐標(biāo)A0和A1,確定人手的左右運(yùn)動(dòng)方向,實(shí)現(xiàn)圖片的左或右切換,如圖4所示。當(dāng)處于縮放模式時(shí),根據(jù)圖片中人手在前后兩幀圖片的中的面積S0和S1,確定人手的前后運(yùn)動(dòng)方向,實(shí)現(xiàn)圖片的放大或縮小,如圖5,圖6所示。
2.2 軟件流程圖
操作圖片的手勢(shì)動(dòng)態(tài)識(shí)別系統(tǒng)程序設(shè)計(jì)基于嵌入式C語(yǔ)言,采用模塊化結(jié)構(gòu),由主程序、圖像采集子程序、圖像預(yù)處理子程序、圖像識(shí)別子程序、圖片操作子程序等組成的。主程序流程圖如圖7所示。
3 測(cè)試結(jié)果
主要測(cè)試設(shè)備包括USB攝像頭、S3C6410平臺(tái)、320×240 TFT屏,測(cè)試結(jié)果如圖8,圖9所示。測(cè)試結(jié)果表明:在攝像頭視野內(nèi),若人手從左向右劃過(guò),則TFT顯示屏上的圖片從左向右滑動(dòng)切換至前一張圖片;若人手從右到左劃過(guò),則TFT顯示屏上的圖片從右向從滑動(dòng)切換至下一張圖片。若人手靠近攝像頭,則TFT顯示屏上的圖片放大一定倍數(shù);若人手遠(yuǎn)離攝像頭,則TFT顯示屏上的圖片縮小一定倍數(shù)。
4 結(jié)語(yǔ)
本文介紹了基于ARM芯片S3C6410的手勢(shì)動(dòng)態(tài)操作圖片的識(shí)別系統(tǒng),通過(guò)手勢(shì)對(duì)圖片進(jìn)行切換與縮放操作,實(shí)現(xiàn)了非接觸式的人機(jī)交互。本系統(tǒng)利用QT/E開(kāi)發(fā)的人機(jī)界面美觀,應(yīng)用開(kāi)源的OpenCV提供的各種視覺(jué)、圖像處理算法,提高圖片處理的效率。本文提出的手勢(shì)輸入系統(tǒng),可以讓用戶擺脫鼠標(biāo)、鍵盤(pán)輸入的空間限制,利用“手語(yǔ)”“隔空”控制。本系統(tǒng)可以方便地移植到可用手勢(shì)控制的系統(tǒng),比如醫(yī)生進(jìn)出醫(yī)院手術(shù)室的大門(mén)控制系統(tǒng),另外本文的設(shè)計(jì)思想在聾啞人手語(yǔ)輸入、機(jī)器人視覺(jué)輸入等方面具有良好的應(yīng)用前景和很大的實(shí)用價(jià)值。