摘 要:為了實(shí)現(xiàn)圖片操作命令的手勢(shì)輸入,設(shè)計(jì)了圖片操作的手勢(shì)動(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
中圖分類(lèi)號(hào):TN91934; TP391.4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004373X(2012)22000403
數(shù)字圖像處理技術(shù)是將獲得的低質(zhì)量圖像利用計(jì)算機(jī)處理成更適合人眼觀察或儀器檢測(cè)的圖像的技術(shù)[1]。嵌入式視覺(jué)技術(shù)是使用攝像機(jī)和計(jì)算機(jī)代替人眼對(duì)目標(biāo)進(jìn)行識(shí)別、跟蹤和測(cè)量的技術(shù)[2]。因此。數(shù)字圖像處理技術(shù)和嵌入式視覺(jué)技術(shù)被廣泛地應(yīng)用在基于圖像的識(shí)別控制系統(tǒng)中[38]。
當(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)行操作。
圖1 手勢(shì)動(dòng)態(tài)識(shí)別系統(tǒng)結(jié)構(gòu)框圖S3C6410處理器的部分硬件特性如下:采用ARM1176JZFS核,包含16 KB的指令數(shù)據(jù)CACHE和16 KB的指令數(shù)據(jù)TCM,主頻最高可達(dá)667 MHz;支持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í)別、圖像顯示等功能[911]。軟件架構(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)方向,確定操作者的意圖,從而操作顯示屏上的圖片[67]。
本系統(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所示。
圖6 縮小圖片運(yùn)動(dòng)示意圖2.2 軟件流程圖
操作圖片的手勢(shì)動(dòng)態(tài)識(shí)別系統(tǒng)程序設(shè)計(jì)基于嵌入式C語(yǔ)言,采用模塊化結(jié)構(gòu),由主程序、圖像采集子程序、圖像預(yù)處理子程序、圖像識(shí)別子程序、圖片操作子程序等組成的。主程序流程圖如圖7所示。
主要測(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à)值。
參 考 文 獻(xiàn)
[1] 王曉雪,蘇杏麗.數(shù)字圖像處理在車(chē)牌識(shí)別中的應(yīng)用[J].自動(dòng)化儀表,2010,31(7):2225.
[2] 王思華,劉崇春,陳立峰,等.計(jì)算機(jī)視覺(jué)新技術(shù)及其在IC標(biāo)記質(zhì)量檢驗(yàn)中的應(yīng)用[J].電子技術(shù)應(yīng)用,2000,26(9):2527.
[3] 陳文廣,董士海,岳瑋寧,等.手持移動(dòng)計(jì)算中的人機(jī)交互技術(shù)研究[J].計(jì)算機(jī)應(yīng)用,2010,25(10):22192223.
[4] 王國(guó)建,陶霖密.支持隱式人機(jī)交互的分布式視覺(jué)系統(tǒng)[J].中國(guó)圖象圖形學(xué)報(bào),2010,15(8):11331138.
[5] 李文昊.基于SPCA563B 芯片的圖像識(shí)別系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(8):4043.
[6] 魏志蓮,汪劍鳴,竇汝振,等.一種新的室內(nèi)機(jī)器人手勢(shì)指令識(shí)別系統(tǒng)[J].天津工業(yè)大學(xué)學(xué)報(bào),2010,29(1):7276.
[7] 孔曉明,陳一民,陳養(yǎng)彬,等.基于視覺(jué)的手勢(shì)動(dòng)態(tài)識(shí)別[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(11):29342936.
[8] 章磊,李耀,劉光徽.基于機(jī)器視覺(jué)的煙支檢測(cè)系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012,38(5):1518.
[9] 歐文盛.ARM嵌入式Linux應(yīng)用實(shí)例開(kāi)發(fā)[M].北京:中國(guó)電力出版社,2008.
[10] 賀翔,孟小華.嵌入式智能家居終端人機(jī)界面設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(10):21662168.
[11] BRADSKI G,KAEHLER A.學(xué)習(xí)OpenCV(中文版)\[M\].北京:清華大學(xué)出版社,2009.
[12] 王燕,曹銀杰,郎豐法,等.基于Emgu CV的數(shù)字相機(jī)圖像采集\[J\].電子科技,2012(4):3132.
作者簡(jiǎn)介: 陳守滿 男,1968年出生,陜西安康人,教授。主要研究方向?yàn)榍度胧较到y(tǒng)及應(yīng)用。
朱 偉 男,1991年出生,四川瀘州人。主要從事嵌入式應(yīng)用開(kāi)發(fā)方面的研究。