多點觸摸畢業(yè)設(shè)計(含外文翻譯)_第1頁
已閱讀1頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  摘  要</b></p><p>  近年來,隨著用戶對人機(jī)交互的友好性和自然性的需求不斷增加,興起了一種新的人機(jī)交互技術(shù)——多點觸摸技術(shù)。</p><p>  多點觸摸技術(shù)超越了傳統(tǒng)人機(jī)交互技術(shù)中使用的鼠標(biāo)和鍵盤,實現(xiàn)了用戶通過手指在傳統(tǒng)應(yīng)用平臺上的動作直接與電腦進(jìn)行對話。它的主要優(yōu)點是,能夠?qū)崿F(xiàn)同一時間的多用戶交互,多觸點交互,并且能

2、夠?qū)换サ膶ο筮M(jìn)行識別。多點觸摸技術(shù)較傳統(tǒng)的單一觸點交互技術(shù)更靈活,更友好,更具自然性。</p><p>  本文首先根據(jù)GUI Group提供的多點觸摸系統(tǒng)開源程序代碼完成了多點觸摸人機(jī)交互系統(tǒng)底層軟件的剖析。軟件功能主要分為四大部分:圖像預(yù)處理、觸摸點識別、運動跟蹤、觸點信息的傳輸。之后在圖像預(yù)處理步驟中的“圖像分割”部分,本文采用了一種基于大津法(OSTU)的自適應(yīng)閾值分割方法,使系統(tǒng)能夠在一定程度上自動完

3、成在變光照條件下由灰度圖像到二值圖像的轉(zhuǎn)化。</p><p>  其次,考慮到原有特征點跟蹤方法算法“KNN(K最近鄰分類算法)”的跟蹤滯后性這一不足,本文基于“最小距離優(yōu)先算法”改進(jìn)出了一種適用于多點觸摸系統(tǒng)的更高效的特征點跟蹤方法“最小距離觸點跟蹤算法”,此方法能夠更快速的完成對特征點的識別和跟蹤。</p><p>  最后,手勢識別一直是多點觸摸技術(shù)研究的主要內(nèi)容,本文定義了幾種基本

4、的手勢,并參考相關(guān)資料利用ActionScript 3.0編程實現(xiàn)了多點觸摸技術(shù)的簡單應(yīng)用。</p><p>  實驗證明,使用本論文設(shè)計的多點觸摸底層軟件能夠正確的檢測并跟蹤到觸點,完成手勢的識別和多點觸摸的簡單應(yīng)用;并且利用本文改進(jìn)的“最小距離觸點跟蹤算法”可以很好的提高觸點跟蹤速率,特征點跟蹤滯后時間縮短。</p><p>  關(guān)鍵詞:多點觸摸;特征點跟蹤;最小距離優(yōu)先算法

5、;手勢定義 </p><p>  Study on Methods of Multi-touch Human-computer Interaction Based on Optical Induction </p><p><b>  Abstract</b></p><p>  In recent years, since users’ de

6、mands on nature and friend attributes of computers are increasing, a new human-computer interaction technology called multi-touch human-computer interaction technology has been brought up.</p><p>  Multi-tou

7、ch human-computer interaction technology exceeds the mouse and the keyboard used in traditional ways, making it possible for users’ direct communication with computers through the movements and gestures of fingers on the

8、 traditional application interface. Its main advantages are that it supports multi-consumers’ and multi-points’ direct interaction at the same time. What’s more, multi-point touch is able to distinguish interactive objec

9、t identification. Compared with traditional single-</p><p>  Firstly, this paper completes the analysis of the ground software of multi-point touch system based on the open source code of multi-point touch s

10、ystem provided by GUI Group. The function of the software is mainly divided into four parts: image pre-processing, the recognition of blobs, movement tracking and the transmission of blob information. In the “image segme

11、ntation” step of “image pre-processing”, this paper uses a self-adaptive threshold method based on the universal OSTU algorithm and ma</p><p>  Secondly, taking into consideration the disadvantage of track d

12、elay caused by original blob tracking algorithm “KNN”, this paper works out a more efficient tracking method named “Nearest Distance Blob Tracking” algorithm based on the universal “Nearest distance Foremost” algorithm.

13、This improved algorithm is capable to complete the blob tracking process more quickly and cut down the delay time. </p><p>  Finally, as the gesture recognition has always been the main research content of m

14、ulti-point touch technology, this paper gives definitions of several basic gesture models and accomplishes the simple application of multi-point touch using ActionScript 3.0 based on related material.</p><p>

15、;  The experiment proves that the ground software of the multi-point touch system designed by this paper can correctly detect and track points, realizing the identification of gestures and basic multi-point touch applica

16、tion. Meanwhile, the “Nearest Distance Blob Tracking” algorithm improved by this paper succeeds in enhancing the tracking efficiency and the delay time of tracking is obviously decreased. </p><p>  Key Word

17、s:Multi-touch; Blob tracking; “Nearest Distance Foremost” algorithm; Self-adaptive Threshold; Gesture models </p><p><b>  目  錄</b></p><p><b>  摘  要I</b></p><p

18、>  AbstractII</p><p><b>  引  言3</b></p><p><b>  1緒論3</b></p><p>  1.1多點觸摸人機(jī)交互技術(shù)概述3</p><p>  1.2多點觸摸技術(shù)研究背景3</p><p><b>

19、  1.3研究概況3</b></p><p>  1.3.1國外研究概況3</p><p>  1.3.2國內(nèi)研究概況3</p><p>  1.4課題研究意義3</p><p>  2多點觸摸系統(tǒng)底層軟件的架構(gòu)分析3</p><p>  2.1多點觸摸系統(tǒng)總體模塊3</p>&l

20、t;p>  2.2圖像預(yù)處理3</p><p>  2.2.1灰度變換3</p><p>  2.2.2平滑去噪3</p><p>  2.2.3去除背景3</p><p>  2.2.4圖像分割3</p><p>  2.3觸摸點識別3</p><p>  2.3.1提取觸摸

21、點輪廓3</p><p>  2.3.2觸摸點幾何特征數(shù)據(jù)的獲取3</p><p>  2.4觸摸點的跟蹤3</p><p><b>  2.5信息傳輸3</b></p><p><b>  3自適應(yīng)閾值3</b></p><p><b>  3.1大津法

22、3</b></p><p>  3.2自適應(yīng)閾值主要代碼3</p><p>  3.3自適應(yīng)閾值仿真結(jié)果3</p><p>  4最小距離觸點跟蹤法3</p><p>  4.1KNN算法原理3</p><p>  4.1.1 KNN算法的核心程序3</p><p>  

23、4.2 KNN算法的不足3</p><p>  4.3 最小距離觸點跟蹤法3</p><p>  4.3.1 thresh的意義與確定3</p><p>  4.3.2最小距離優(yōu)先算法觸點的狀態(tài)與對應(yīng)事件的確定3</p><p>  4.3.3最小距離觸點跟蹤算法實現(xiàn)的基本步驟3</p><p>  4.3.

24、4最小距離觸點跟蹤法的核心代碼3</p><p>  4.4 最小距離觸點算法與KNN算法的比較3</p><p>  5簡單的手勢識別3</p><p>  5.1簡單的手勢定義3</p><p>  5.2 移動動作3</p><p>  5.3 放大縮小動作3</p><p>

25、  5.4 多點觸摸應(yīng)用3</p><p><b>  結(jié)  論3</b></p><p><b>  參 考 文 獻(xiàn)3</b></p><p>  附 錄 A 翻譯原文3</p><p>  附 錄 B 翻譯的中文3</p><p>  附 錄 C 最小距離觸點追

26、蹤程序代碼3</p><p>  附 錄 D 自適應(yīng)閾值程序代碼3</p><p>  在 學(xué) 取 得 成 果3</p><p><b>  致  謝3</b></p><p><b>  引  言</b></p><p>  隨著科技的發(fā)展,計算機(jī)已逐漸成為人們工作

27、、生活和休閑娛樂中不可缺少的一部分。與此同時,怎樣使機(jī)器與人之間的交互更自然,更和諧也成為了當(dāng)今研究的熱點。 </p><p>  多點觸摸技術(shù)作為近幾十年來一種新興的人機(jī)交互模式[1],完全拋棄了傳統(tǒng)的外部硬件交互設(shè)備(如鼠標(biāo)鍵盤),而是通過人的手指與觸摸屏的接觸動作向計算機(jī)傳達(dá)特定的信息(如拖拽,點擊、放大縮小等)。它能夠允許多用戶、多點對同一虛擬界面的同時訪問,這種交互方式符合人的行為學(xué)特點,達(dá)到了自然和諧

28、的境界,增強(qiáng)了用戶體驗,是一次人機(jī)交互技術(shù)的革命。</p><p>  隨著國內(nèi)外研究工作者的不斷深入研究,多點觸摸技術(shù)已經(jīng)廣為人們所知。并且已經(jīng)有很多研究機(jī)構(gòu)、企業(yè)等有了自己的多點觸摸商業(yè)產(chǎn)品,如三菱電子的Diamond Touch[2],微軟的Microsoft surface[3]等。</p><p>  鑒于多點觸摸技術(shù)的突出優(yōu)勢,本文基于GUI Group提供的開源多點觸摸程序代

29、碼,完成了對一個多點觸摸系統(tǒng)底層軟件的分析與設(shè)計。程序能夠?qū)崿F(xiàn)圖像濾波、圖像分割、目標(biāo)跟蹤等功能從而獲取觸點信息,并通過TUIO協(xié)議將圖像信息傳遞給上層軟件,實現(xiàn)多點觸摸的應(yīng)用。在圖像分割步驟中,本文使用了一種基于大津法的自適應(yīng)閾值分割方法,使灰度圖像到二值圖像的變換效果有了一定的提高。此外,對觸點快速準(zhǔn)確的跟蹤是手勢識別的先決條件,也是多點觸摸底層軟件中非常關(guān)鍵的一環(huán)。為了解決多點觸摸開源代碼(Community Core Visio

30、n)中所采用的“KNN”跟蹤算法產(chǎn)生的跟蹤滯后問題,本文基于“最小距離優(yōu)先法”的原理,編寫了適用于多點觸摸系統(tǒng)的“最小距離觸點跟蹤算法”程序進(jìn)行觸點跟蹤,能夠在一定程度上提高跟蹤效率并減少跟蹤滯后時間。</p><p><b>  1緒論</b></p><p>  1.1多點觸摸人機(jī)交互技術(shù)概述</p><p>  觸摸技術(shù)對人們并不陌生,例

31、如日常生活中經(jīng)常能接觸到的觸摸技術(shù)有銀行取款機(jī)的觸摸屏,醫(yī)院或圖書館大廳的觸控技術(shù)電腦,支出觸摸屏的手機(jī)、MP4、數(shù)碼相機(jī)等。但是這些生活中經(jīng)常用到的觸摸屏大多是單點觸摸,也就是說只能識別和支持每次一個手指的觸孔、點擊。若果有兩個以上的點被觸碰,系統(tǒng)就不會做出正確的響應(yīng)。而多點觸摸人機(jī)交互技術(shù)把任務(wù)分解成兩個部分,一是同時采集多點信號,二是對每路信號的意義進(jìn)行判斷,也就是進(jìn)行手勢的識別,從而實現(xiàn)對多用戶多手指在同一時刻的點擊碰觸動作做出

32、正確的反應(yīng)。最典型的多點觸摸應(yīng)用便是時下蘋果公司成產(chǎn)的iPhone和iPod[4] 。多點觸摸技術(shù)作為近年來一項新興的技術(shù),改變了人與信息間的交互方式,增強(qiáng)了用戶體驗,達(dá)到了自然和諧的境界,與人的認(rèn)知特點和行為學(xué)特點相吻合。 </p><p>  1.2多點觸摸技術(shù)研究背景</p><p>  人機(jī)交互技術(shù)(Human-Computer Interaction Techniques)[5]

33、是指通過計算機(jī)輸入、輸出設(shè)備,以有效的方式實現(xiàn)人與計算機(jī)對話的技術(shù)。它是計算機(jī)用戶界面設(shè)計中的重要內(nèi)容之一,并與認(rèn)知學(xué)、心理學(xué)、人機(jī)工程學(xué)等學(xué)科領(lǐng)域有密切的聯(lián)系[6]。人機(jī)交互和計算機(jī)用戶界面剛剛走過基于字符方式的命令語言式界面,目前正處于圖形用戶界面時代。但是,計算機(jī)科學(xué)家并不滿足于這種現(xiàn)狀,他們正積極探索新型風(fēng)格的人機(jī)交互技術(shù)。未來人機(jī)交互技術(shù)的發(fā)展趨勢是追求多維信息空間和“基于自然交互方式的”的人機(jī)交互風(fēng)格[7]。</p&g

34、t;<p>  圖1.1人機(jī)交互的媒介物</p><p>  如圖1.1所示,隨著社會信息化產(chǎn)業(yè)的不斷發(fā)展,人機(jī)交互的媒介物在不斷發(fā)生改變,從鼠標(biāo)、鍵盤、游戲手柄、遙控器等與電腦交互到目前流行的多點觸控技術(shù)支持用戶使用手指、手勢等直接與電腦進(jìn)行交互[8][9]。</p><p><b>  1.3研究概況</b></p><p>

35、  1.3.1國外研究概況</p><p>  西方國家從上世紀(jì)八十年代就開始對多點觸摸技術(shù)進(jìn)行研究了。1983年就曾有科學(xué)家將鍵盤和觸控板聯(lián)系在一起同時操作[10],而且在同年貝爾實驗室[11]第一篇關(guān)于多點觸摸技術(shù)的論文,為該技術(shù)的興起打下了基礎(chǔ)。1984年,人機(jī)交互界面科學(xué)家Bill Buxton從人類雙手本能的生理功能著手,研究界面操作的實際可行性,最終研發(fā)出了一套可以對圖像進(jìn)行操作的多點觸摸系統(tǒng)。同年,

36、微軟公司也正式開始對多點觸控技術(shù)進(jìn)行研究。1991年,Pierre Wellner自主研發(fā)出了一張“數(shù)碼桌子”(Digital Desk)[12][13] 發(fā)表了相應(yīng)的論文,詳細(xì)地介紹了如何采用多個手指和不同的姿勢進(jìn)行交互。1992年,Sun Microsystems[14]一段假想12年后將出現(xiàn)的新科技的科幻片,其中就有類似多點觸摸的技術(shù),這對于該技術(shù)的發(fā)展也具有高度的啟發(fā)性。1999年,Alias Wave front首先推出了一款

37、叫做Portfolio Wall的產(chǎn)品。他采用了大尺寸的觸控屏幕,配合滑動與點選擇兩種手勢操作,就能夠及時瀏覽大量的圖像與影片。它的概念和操作都很簡單,但在當(dāng)時已經(jīng)是最接近商品化的研究方案之一</p><p>  圖1.2 Diamond Touch</p><p>  2002年,好萊塢也注意到了這個科技新動向,在《少數(shù)派報告(Minority Report)》這部電影中,主人公用手指控

38、制虛擬屏,如下圖1.3所示?!岸帱c觸摸”成為了重要的科幻橋段,為多點觸摸技術(shù)造勢不少。</p><p>  圖1.3 Minority Report</p><p>  2006年,是多點觸摸技術(shù)發(fā)展最重要的一年。Jefferson Y. Han于同年2月在美國TED4大會上向全世界演示了他們的多點觸摸裝置的實際操作和應(yīng)用,如下圖1.4所示。這也是之后多點觸摸產(chǎn)品席卷全球的風(fēng)潮的開始。這次

39、里程碑式的實際演示,標(biāo)志著研發(fā)重心從硬件技術(shù)轉(zhuǎn)向了軟件應(yīng)用。</p><p>  圖1.4 Jefferson Y. Han對多點觸摸技術(shù)的演示</p><p>  1.3.2國內(nèi)研究概況</p><p>  和西方發(fā)達(dá)國家比較,國內(nèi)大部分研究機(jī)構(gòu)、專業(yè)院校和高端企業(yè)對多點觸摸技術(shù)的研究投入相對有限。雖然進(jìn)入21世紀(jì)之后,部分發(fā)達(dá)城市,如北京、廣州、上海和深圳等的高

40、等院校已投入了相當(dāng)規(guī)模的資金用于多點觸摸技術(shù)的研發(fā)和平臺的搭建,但多點觸摸技術(shù)的核心仍在西方國家,國內(nèi)缺少一定的人才和資金,而且目前國內(nèi)在這方面的市場沒有被培養(yǎng)起來,仍然很不完善。但是近幾年,隨著政府開展的大力扶持科技創(chuàng)新的計劃以及多點觸摸技術(shù)研究的專門論壇的興起,使開發(fā)人員能夠更方便的獲取行業(yè)的最新發(fā)展信息。</p><p>  例如北京優(yōu)愛交互科技有限公司[15](HCI中國),是國內(nèi)最大的人機(jī)交互設(shè)備供應(yīng)商

41、,也是國內(nèi)最早投入研究多點觸摸技術(shù)并且對該技術(shù)產(chǎn)品出售的自主性企業(yè)。目前該公司包含有由各種硬件技術(shù)構(gòu)建的多點觸摸設(shè)備(交互桌、交互墻以及支持不同觸摸數(shù)量點的觸摸薄屏),如下圖1.5所示是他們研發(fā)的多點觸摸吧臺。</p><p>  圖1.5 多點觸摸吧臺</p><p>  所以,未來將會有更多的人才被吸引到多點觸摸交互界面設(shè)計的領(lǐng)域中,國內(nèi)的發(fā)展前景將是非常光明的。</p>

42、<p><b>  1.4課題研究意義</b></p><p>  多點觸摸技術(shù)作為一種新型的人機(jī)交互方式,打破了傳統(tǒng)的單點觸摸屏技術(shù)只能同時響應(yīng)一個觸點、沒有從本質(zhì)上改變交互方式、只是用手指點擊代替了鼠標(biāo)操作、缺乏智能性以及缺少“以用戶為中心”的交互自然性和高效性的僵局,讓雙手自由交互成為了可能[16]。</p><p>  多點觸控技術(shù)利用光學(xué)和材料學(xué)

43、技術(shù),構(gòu)建了一個能同時檢測多個觸點的觸控平臺,使得用戶能夠運用多個手指同時操作并實現(xiàn)基于手勢的人機(jī)交互,而且可以讓多個用戶同時操作實現(xiàn)基于協(xié)同手勢的交互[17]。近幾年,自從多點觸摸技術(shù)的出現(xiàn)以及硬件技術(shù)的發(fā)展,構(gòu)建一套廉價的多點觸摸平臺也變得相對簡單。因此這種以人為中心的自然高效的人機(jī)交互技術(shù)已經(jīng)在眾多領(lǐng)域中得到了推崇[18],如個人便攜式信息產(chǎn)品、信息家電、公共信息查詢、電子游戲、教育、展示、指揮決策中心等。</p>

44、<p>  鼠標(biāo)和圖形用戶界面是電腦大規(guī)模普及的重要原因。但是傳統(tǒng)的人機(jī)交互是間接的并且是需要識別的一種模式。而建立在多點觸摸上的人機(jī)交互是自然直觀的,流暢的且令人回味的。</p><p>  隨著計算機(jī)在國民經(jīng)濟(jì)各個領(lǐng)域應(yīng)用深度和廣度的全面推進(jìn),它與我們?nèi)粘I畹年P(guān)系越來越緊密,從而使研究高效的人機(jī)交互方式成為必要。世界各國都將人機(jī)交互技術(shù)作為重點研究的一項關(guān)鍵技術(shù),美國總統(tǒng)信息技術(shù)顧問委員會的“21

45、世紀(jì)的信息技術(shù)報告”中將“人機(jī)交互和信息管理”列為新世紀(jì)4項重點發(fā)展的信息技術(shù)(還包括軟件、可伸縮信息基礎(chǔ)設(shè)施、高端計算)之一,它的目標(biāo)是研制“能聽、能說、能理解人類語言的計算機(jī)”,并指出 “現(xiàn)在美國 40 %以上的家庭擁有計算機(jī),然而,對于大多數(shù)美國人來說,計算機(jī)仍然難以使用。調(diào)查表明,由于不理解計算機(jī)正在做什么,用戶浪費了12%以上的上機(jī)時間。更好的人機(jī)交互將使計算機(jī)易于使用,并使使用者更愉快,因而可提高生產(chǎn)率??紤]到現(xiàn)在經(jīng)常使用計

46、算機(jī)的人數(shù)多,研制這種計算機(jī)的回報將非常巨大。微軟亞洲研究院從成立一開始,就將新一代人機(jī)交互技術(shù)作為其主要研究方向。我國國家自然科學(xué)基金會、國家重點基礎(chǔ)研究發(fā)展計劃(973)、國家高技術(shù)研究發(fā)展計劃(863)等項目指南中,均將先進(jìn)的人機(jī)交互、虛擬現(xiàn)實技術(shù)列為予以特別關(guān)注的資助項目[19]。</p><p>  綜上所述,本課題對于多點觸摸人機(jī)交互技術(shù)觸摸點檢測以及簡單手勢定義的研究,無論從人機(jī)交互技術(shù)的發(fā)展趨勢還

47、是從多點觸摸的應(yīng)用前景上,都具有非常重要的意義。</p><p>  2多點觸摸系統(tǒng)底層軟件的架構(gòu)分析</p><p>  本文主要的研究內(nèi)容是對多點觸摸系統(tǒng)的底層軟件進(jìn)行分析,改進(jìn)與實現(xiàn),并完成基本的手勢定義與編程從而實現(xiàn)多點觸摸的應(yīng)用。</p><p>  2.1多點觸摸系統(tǒng)總體模塊</p><p>  多點觸摸系統(tǒng)有兩個關(guān)鍵部分組成:硬

48、件系統(tǒng)與軟件算法。硬件系統(tǒng)由光學(xué)傳感器、紅外光源和顯示設(shè)備組成。硬件系統(tǒng)主要完成觸點信號的發(fā)生和觸點信號的同時采集。軟件系統(tǒng)完成觸點信號的意義判斷,也就是觸點信號處理與觸點手勢識別,并且基于上述識別結(jié)果實現(xiàn)與上層軟件的溝通和交互應(yīng)用。系統(tǒng)的總體模塊圖如圖2.1所示。</p><p>  圖2.1 多點觸摸系統(tǒng)總體模塊圖</p><p>  從上面的系統(tǒng)總體模塊圖2.1可以看出整個系統(tǒng)的軟件

49、部分由五個模塊組成(用方框標(biāo)出):圖像處理、運動跟蹤、信息傳輸、手勢識別和交互界面。其中圖像處理、運動跟蹤和信息傳輸部分屬于底層軟件的內(nèi)容,而手勢識別與交互界面屬于上層軟件的內(nèi)容。每個模塊都有各自的功能,概括介紹如下:</p><p>  圖像預(yù)處理模塊:對紅外攝像機(jī)捕捉到的圖像進(jìn)行灰度變換、平滑去噪、去處背景和圖像分割等處理,這樣就把需要處理的圖像從原始畫面中分離出來。</p><p>

50、  運動跟蹤模塊:通過對一系列連續(xù)幀的計算和分析,實現(xiàn)對觸摸點的跟蹤,并獲得觸摸點的運動狀態(tài)信息,如位置,加速度等。運動跟蹤模塊是軟件系統(tǒng)中非常重要的一環(huán)。</p><p>  信息傳輸模塊:底層軟件完成了觸點檢測與跟蹤后,利用TUIO傳輸協(xié)議實現(xiàn)與上層軟件的通信,向上層軟件發(fā)送觸點信息數(shù)據(jù)包以及諸如按下、移動、釋放等基本操作事件。</p><p>  手勢識別模塊:上層軟件得到了觸摸點的

51、運動狀態(tài)之后,需要根據(jù)這些信息來判斷用戶在觸摸屏上的進(jìn)行了哪些操作動作,例如點擊,旋轉(zhuǎn)等。</p><p>  交互界面模塊:顯示交互的最終結(jié)果,例如圖片的移動,放大縮小,點擊按鈕的變化等視覺效果。</p><p><b>  2.2圖像預(yù)處理</b></p><p>  對攝像機(jī)拍攝到的圖像進(jìn)行的第一步運算就是圖像預(yù)處理。圖像預(yù)處理簡單地說就

52、是利用計算機(jī)對圖像進(jìn)行分析,從而獲得所需要的圖像效果。在多點觸摸系統(tǒng)中,由于圖像傳感器本身的噪聲以及環(huán)境光源的干擾,攝像機(jī)采集到的圖像除了想要的觸點信息之外,還有很多噪點和無用的背景,這會對接下來觸點檢測和手勢識別有很大的影響。圖像預(yù)處理的目的就是對攝像機(jī)采集到的圖像進(jìn)行去除噪聲和過濾,得到一幅清晰的易于處理的圖像,如圖2.2。圖像預(yù)處理有四個主要步驟:灰度變換、平滑去噪、去除背景、圖像分割。</p><p> 

53、 圖2.2 從灰度圖像到經(jīng)過所有圖像預(yù)處理步驟后的圖像</p><p><b>  2.2.1灰度變換</b></p><p>  在灰度處理中,要將紅外攝像機(jī)拍攝的原始彩色圖像轉(zhuǎn)換為灰度圖像(圖2.3),這個過程叫做灰度變換。進(jìn)行灰度變化有兩個重要原因:第一,去掉圖片中沒有作用的彩色信息,減少處理數(shù)據(jù)量。彩色圖像信息對于后面的觸點檢測和分析沒有任何的幫助,而且對于數(shù)

54、字圖像,彩色圖像占用的存儲空間要比灰度圖像大得多,所以圖像預(yù)處理的第一個環(huán)節(jié)就是要將彩色圖像轉(zhuǎn)換為灰度圖像,以保證接下去程序的效率。第二,簡化算法。在下面的處理中,分析輪廓和分析形狀的算法對于彩色圖像的處理要比對于灰度圖像的處理復(fù)雜得多,所以轉(zhuǎn)化成灰度圖像對于簡化算法有很大幫助。</p><p><b>  圖2.3 灰度圖像</b></p><p>  通過查閱資料

55、將彩色圖像轉(zhuǎn)變成灰度圖像有一個通用的心理學(xué)公式(公式2.1): </p><p><b>  (2.1)</b></p><p>  公式中的R、G、B分別代表紅、綠、藍(lán),將0-255的數(shù)值按比例對應(yīng)轉(zhuǎn)換為0.0-1.0,公式中的Gray就是計算出的各個像素的灰度值。本文利用OpenCV(Open Source Computer Vision Library開源

56、計算機(jī)視覺庫)中的函數(shù)來實現(xiàn)這一變換:</p><p>  cvCvtColor( mom.getCvImage(), cvImage, CV_RGB2GRAY );</p><p>  其中mom.getCvImage()是輸入的源浮點圖像即原始圖像,cvImage是經(jīng)過灰度變換后的輸出圖像,CV_RGB2GRAY表式將彩色圖像轉(zhuǎn)化為灰度圖像。</p><p>&

57、lt;b>  2.2.2平滑去噪</b></p><p>  經(jīng)過灰度變換之后,多點觸摸系統(tǒng)會根據(jù)一個設(shè)置好的初始閾值將灰度圖像轉(zhuǎn)化為二值圖像(具體的二值化圖像變換過程見2.2.4),如圖2.4。可以看到原始的彩色圖像變成了二值圖像,不必要的色彩信息被去掉了,但這樣還是不能達(dá)到要求,因為拍攝到的圖像中還存在很多噪聲,這是單單進(jìn)行灰度變換和簡單的二值圖像變換所不能剔除的。所以在圖像與處理步驟中,還

58、有一個很重要的環(huán)節(jié)就是進(jìn)行平滑處理。</p><p>  圖2.4 灰度圖像經(jīng)初始閾值轉(zhuǎn)化成二值圖像</p><p>  對圖像的平滑操作可以去掉圖像噪聲,但同時也會使一些重要圖像信息的邊緣變得模糊,這對后面的輪廓分析會有比較大的影響。所以要選用一種合適的平滑算法,讓去掉噪聲的同時最大程度的保留圖像有用信息。</p><p>  GUI Group采用Open So

59、urce Computer Vision Library(簡稱OpenCV)函數(shù)庫中的平滑函數(shù)來進(jìn)行平滑變換:</p><p>  cvSmooth( cvImage, cvImageTemp, CV_GAUSSIAN ,value );</p><p>  這句函數(shù)的功能是將輸入圖像cvImage經(jīng)過高斯模糊(CV_GAUSSIAN表示選用高斯模糊方法)后儲存到圖像cvImageTemp

60、中,value(在多點觸摸硬件平臺上手動調(diào)節(jié)“smooth”的參數(shù)值)表示對圖像進(jìn)行核大小為 value2的高斯卷積。高斯模糊方法的中心思想是建立的一個數(shù)學(xué)模型,通過這個模型來將圖像數(shù)據(jù)進(jìn)行能量轉(zhuǎn)化,能量低的就排除掉,噪聲就是屬于低能量部分。</p><p>  經(jīng)過平滑去噪的處理后,圖像中的噪聲就被去掉(如圖2.5所示),下面就可以進(jìn)行背景的去除。</p><p>  圖2.5 二值圖像

61、經(jīng)平滑去噪操作后的圖像</p><p><b>  2.2.3去除背景</b></p><p>  在多點觸摸系統(tǒng)中,由于硬件上的因素,很難做到屏幕上一點干擾都沒有,但是這種干擾和上面平滑去噪操作中提到的圖像噪點是不同的。平滑去噪中的圖像噪點是由于數(shù)字?jǐn)z像機(jī)內(nèi)部的電氣特性和AV線傳輸信號的過程中疊加在圖像上的,通常都是非常小的噪聲點。而這里所提到的干擾是多點觸摸系統(tǒng)中

62、由于硬件工藝所產(chǎn)生的問題,如硬件設(shè)備金屬材料的反光投影會經(jīng)常出現(xiàn)在圖像中形成干擾。另外,還有室內(nèi)室外某些紅外光線的干擾。這些都會被攝像機(jī)捕捉在畫面中,在平滑去噪的操作中不能夠?qū)⑦@些干擾完全去掉,但這些干擾會對后面的分析產(chǎn)生很大的影響。</p><p>  圖2.6 平滑去噪后的圖像 圖2.7 經(jīng)過去除背景后的圖像</p><p>  如圖2.6,圖中除了

63、手的圖像之外還有屏幕邊緣以及環(huán)境中的噪點圖像。將手從觸摸屏拿下來,后面的干擾圖像還是會存在并基本保持不變。所以當(dāng)把手從觸摸屏拿下來之后,使用清屏函數(shù),屏幕被清零了,這樣背景中的固定干擾也被移除了。這時再把手放上去,干擾就明顯少多了(如圖2.7)。</p><p><b>  2.2.4圖像分割</b></p><p>  經(jīng)過上述圖像預(yù)處理的前三個步驟:灰度轉(zhuǎn)換,平滑

64、去噪和背景去除,實現(xiàn)了將原始圖像中的不必要信息去掉,并且將有用的信息增強(qiáng)。在這些步驟之后,就要對圖像進(jìn)行分割,圖像分割的主要目標(biāo)是將圖像中要處理的部分與從背景圖像等無用信息中分割出來如圖2.8。</p><p>  圖2.8 背景去除后的圖像再經(jīng)過圖像分割后得到的圖像</p><p>  在經(jīng)過前三個處理步驟之后,可以看到,手指的圖像已經(jīng)可以比較清楚的和其他部分區(qū)分開了,下面要做的就是將手

65、指部分從圖像中分割出來。圖像分割的方法很多,根據(jù)實際的問題,選用比較簡單的一種方法:閾值法(threshold)。</p><p>  閾值法就是將圖像中像素灰度值大于某個設(shè)定值的部分全部設(shè)為255,而剩余部分全部設(shè)為0。這樣一幅灰度圖就轉(zhuǎn)變?yōu)榱艘环祱D像。也就是說一幅圖像上只有黑和白兩部分,含有信息的部分(手指)就標(biāo)記為白色,沒有信息的部分就標(biāo)記為黑色,這樣也就把手指圖像部分分割出來了。前面2.2.2節(jié)已提到

66、過,在灰度變換后,系統(tǒng)已經(jīng)根據(jù)一個初始的閾值將灰度圖像轉(zhuǎn)化成二值圖像,但那時的二值圖像含有很多噪聲所以只是粗糙的變化(如圖2.4,這里再次引用)?,F(xiàn)在要進(jìn)行的是更精確的二值圖像的轉(zhuǎn)化。</p><p>  此過程利用OpenCV函數(shù)來實現(xiàn):</p><p>  cvThreshold( cvImage, cvImageTemp, value, 255, CV_THRESH_BINARY )

67、;</p><p>  cvAdaptiveThreshold( cvImage, cvImageTemp, 255, adaptive_method, threshold_type, blockSize, offset);</p><p>  第一個函數(shù)是固定閾值轉(zhuǎn)換函數(shù),它的功能是將輸入的灰度圖像轉(zhuǎn)化成二值圖像。其中cvImage為輸入圖像,cvImageTemp為輸出圖像,value

68、(可手動調(diào)整)為設(shè)置的閾值,CV_THRESH_BINARY為閾值類型,255為使用CV_THRESH_BINARY的灰度最大值。變化原則為當(dāng)cvImage圖像中某部分的灰度值大于value時,將這部分圖像的灰度值設(shè)為255(白);當(dāng)cvImage圖像中某部分的灰度值小于等于value時,將這部分圖像的灰度值設(shè)為0(黑)。</p><p>  第二個函數(shù)為自適應(yīng)閾值調(diào)整函數(shù),它的功能是將輸入的灰度圖像按照給定的不

69、同參數(shù)轉(zhuǎn)化成對應(yīng)的二值圖像。其中cvImage為輸入圖像,cvImageTemp為輸出圖像,adaptive_method 是自適應(yīng)閾值算法,255是采用adaptive_method時的灰度最大值,threshold_type為閾值類型,blockSize(可手動調(diào)整)是用來計算閾值的像素鄰域大小,offset是與閾值算法有關(guān)的參數(shù)。簡單地說,當(dāng)輸入的blockSize發(fā)生變化時,函數(shù)會根據(jù)新的blockSize值計算每個像素點的新閾

70、值TI,當(dāng)像素點的實際灰度值大于TI時,此像素點的灰度值將被設(shè)為255;否則此像素點的灰度值將被設(shè)為0。</p><p>  通過圖像的分割,可以清晰的看到幾個白點(手指)出現(xiàn)在畫面上(如圖2.8)。</p><p>  在第三節(jié),本文將討論一種基于大津法的自適應(yīng)閾值方法,可以大大簡化圖像預(yù)處理的過程。</p><p><b>  2.3觸摸點識別<

71、/b></p><p>  雖然經(jīng)過圖像預(yù)處理步驟之后分割出了清晰的手指圖案,但光這樣是沒有辦法從中提取出有效的信息的,所以,接下來的兩個步驟是:l,對圖像中所有圖形提取出其外輪廓。2,找到每個圖形輪廓的外切矩形,從而計算手指觸摸點的信息,如大小,位置,傾斜角的等等。</p><p>  2.3.1提取觸摸點輪廓</p><p>  圖2.9 提取觸摸點輪廓(

72、紅色為輪廓)</p><p>  為了得到觸點的數(shù)據(jù)信息,需要對整個圖像進(jìn)行計算分析。分析方法是通過區(qū)域輪廓將不同的圖形分隔開,如圖2.9,輪廓用紅色標(biāo)出。找到了各個圖形的輪廓之后,便可以計算出它們的面積,中心等幾何特征。提取圖形輪廓的方法很多,有些比較復(fù)雜。參照了Intel公司一套關(guān)于圖像處理和計算機(jī)視覺方面的開源函數(shù)庫OpenCV,里面包含了提取圖像輪廓算法的函數(shù)。主要代碼如下:</p><

73、;p>  //輪廓提取函數(shù),用來提出特征點的輪廓</p><p>  cvFindContours( inputCopy.getCvImage(), contour_storage, &contour_list,</p><p>  sizeof(CvContour), retrieve_mode, bUseApproximation ? CV_CHAIN_APPROX_SI

74、MPLE : CV_CHAIN_APPROX_NONE );</p><p>  //將提取的輪廓存放到鏈表中</p><p>  CvSeq* contour_ptr = contour_list;</p><p>  //對提取的輪廓大小進(jìn)行篩選,保存符合要求的輪廓</p><p>  while( (contour_ptr != NU

75、LL) ) </p><p><b>  {</b></p><p>  float area = fabs( cvContourArea(contour_ptr, CV_WHOLE_SEQ) );</p><p>  if( (area > minArea) && (area < maxArea) )

76、 {cvSeqBlobs.push_back(contour_ptr);} </p><p>  contour_ptr = contour_ptr->h_next;</p><p><b>  }…</b></p><p>  通過上面的代碼和cvFindContours函數(shù)的使用,便可以找到圖像中所有圖形的輪廓,將輪廓

77、信息存在cont_list這個鏈表結(jié)構(gòu)中,接下來就可以對這些輪廓進(jìn)行分析。值得注意的是,找到輪廓后并沒有對他們立即進(jìn)行處理而是先進(jìn)行了篩選。程序中把面積像素小于minArea和大于maxArea的輪廓剔除,其中minArea和maxArea是定義的輪廓面積的最小值和最大值。這樣做的目的是去掉一些前面沒有處理掉的噪聲信號,為下面的進(jìn)一步處理作保證。</p><p>  觀察圖2.9,觸點的輪廓都是一些不太規(guī)則的多邊

78、形,要想從這些不規(guī)則的多邊形中提取觸點的幾何特征有些困難,但是可以通過找到這些輪廓的外切矩形來獲得每個點的幾何信息。對于規(guī)則的矩形進(jìn)行處理分析就變得容易多了。同樣,利用了OpenCV中封裝好的函數(shù)cvMinAreaRect2()。命令語句如下:</p><p>  box = cvMinAreaRect2( cvSeqBlobs[i] );</p><p>  其中box就是每個輪廓的外切

79、矩形,下圖2.10為找到輪廓外切矩形之后的圖像,外切矩形輪廓用綠色標(biāo)出。</p><p>  2.10 獲取輪廓的外切矩形(綠色標(biāo)出)</p><p>  2.3.2觸摸點幾何特征數(shù)據(jù)的獲取</p><p>  觸點的幾何信息可以通過將每個觸點的輪廓的外切矩形來獲得。需要獲取的觸點信息有:外切矩形輪廓中心,外切矩形寬度、高度和面積,外切矩形傾斜角度,觸點中心坐標(biāo)等。

80、這些幾何數(shù)據(jù)是下面進(jìn)行手勢識別的基礎(chǔ)。主要代碼如下:</p><p>  blobs[i].angleBoundingRect.x = box.center.x; //定義外界矩形中心橫坐標(biāo)x</p><p>  blobs[i].angleBoundingRect.y = box.center.y; //定義外接矩形中心縱坐標(biāo)y</p><p>  blobs[i

81、].angleBoundingRect.width = box.size.height;//矩形邊界的寬度=外接矩形的高度</p><p>  blobs[i].angleBoundingRect.height = box.size.width;//矩形邊界的高度=外接矩形的寬度</p><p>  blobs[i].angle = box.angle;//傾斜角度</p>

82、<p>  blobs[i].area = fabs(area);//觸點面積</p><p>  blobs[i].length = cvArcLength(cvSeqBlobs[i]);//觸點輪廓的長度</p><p>  blobs[i].centroid.x= (int) (myMoments->m10 / myMoments->m00);//觸點的中心橫

83、坐標(biāo)</p><p>  blobs[i].centroid.y = (int) (myMoments->m01 / myMoments->m00);//觸點中心的縱坐標(biāo)</p><p><b>  2.4觸摸點的跟蹤</b></p><p>  在多點觸摸系統(tǒng)中對觸摸點的運動跟蹤是非常重要的一個步驟,能不能正確的對觸摸點進(jìn)行跟蹤,

84、是實現(xiàn)觸摸動作判斷的前提條件。</p><p>  要對觸摸點進(jìn)行跟蹤,分為兩個步驟:識別和跟蹤。</p><p>  識別就是要把觸摸點從環(huán)境背景以及噪聲信號等中識別出來,并且要把每個觸摸點同其他的觸摸點區(qū)分開來。識別在前面觸摸點識別的步驟中已經(jīng)完成。跟蹤就是要在一段時間內(nèi)的序列幀中找到指定觸摸點的運動軌跡,并且能夠計算該觸摸點的運動狀態(tài),如移動的方向和速度等。在多點觸摸系統(tǒng)中觸點的跟蹤

85、是非常關(guān)鍵的一個步驟,因為能否正確的跟蹤接觸點是對觸點動作判斷的先決條件。</p><p>  運動跟蹤模塊的總體流程如下圖2.11所示。</p><p>  圖2.11 觸摸點運動跟蹤流程圖</p><p>  經(jīng)過觸摸點跟蹤之后,就可以建立新一幀出現(xiàn)的觸點和上一幀出現(xiàn)的觸點之間的聯(lián)系并判斷出觸點的狀態(tài)。本文有關(guān)跟蹤算法的討論與實現(xiàn)詳見第三部分。</p>

86、;<p><b>  2.5信息傳輸</b></p><p>  經(jīng)過圖像預(yù)處理,觸摸點識別、運動跟蹤三個步驟之后,將會獲得觸點的運動信息,如位置、加速度等,并且可以判斷出觸點的三個基本狀態(tài):消失的點、已存在的點和新出現(xiàn)的點;與之對應(yīng)的三個基本事件為:彈起、移動和點擊。需要注意的是這些工作的完成是在底層軟件中實現(xiàn)的,而手勢識別和交互界面是 通過上層軟件來執(zhí)行的。所以要想完成多點

87、觸摸系統(tǒng)工作的整個過程,就需要建立底層軟件和上層軟件的通信連接, 信息傳輸模塊就充當(dāng)這一橋梁。</p><p>  本文使用TUIO協(xié)議將通過圖像處理所獲得的觸點信息傳遞給上層的應(yīng)用軟件,實現(xiàn)多點觸摸的應(yīng)用。TUIO是一套簡單且通用的,特別為滿足可感知桌面用戶界面需要所設(shè)計的協(xié)議,該協(xié)議是目前多點觸摸技術(shù)底層軟件和上層應(yīng)用軟件之間的標(biāo)準(zhǔn)通信協(xié)議。TUIO能夠傳遞交互表面的抽象描述信息,包括觸摸事件和觸摸物體的狀態(tài)

88、。它把從跟蹤應(yīng)用程序如計算機(jī)視覺技術(shù)中得到的控制數(shù)據(jù)進(jìn)行編碼然后將其傳送給具有解碼這種協(xié)議能力的客戶端。</p><p>  因為TUIO協(xié)議本身是基于OSC(Open Sound Control)的,所以TUIO協(xié)議可以看作是OSC數(shù)據(jù)的一種標(biāo)準(zhǔn)化實現(xiàn),可以用于所有支持該協(xié)議的設(shè)備上。TUIO協(xié)議定義了兩類主要的消息,即set消息和alive消息。其中,set消息用于目標(biāo)對象特定狀態(tài),如位置、姿態(tài)或其他任何可以

89、識別狀態(tài)的通訊;alive消息則用于通過系列的session ID來標(biāo)識當(dāng)前目標(biāo)對象。TUIO使用下面的格式來進(jìn)行數(shù)據(jù)通訊:</p><p>  /tuio/ profile Name set session ID</p><p>  parameter List</p><p>  /tuio/ profile Name alive list of active

90、session IDs</p><p>  /tuio/profile Namefseq int32</p><p>  其中的profile Name代表定義好的常用可感知用戶界面配置,該配置定義了set消息中目標(biāo)對象的狀態(tài)數(shù)據(jù)格式,比如常用的2D Profile:</p><p>  /tuio/2Dobj set s i x y a X Y A m r<

91、/p><p>  /tuio/2Dcur set s x y X Y m</p><p>  /tuio/2Dblb set s x y a w h f X Y A m r</p><p>  格式中每一位字母符號所代表的意義見表2.1TUIO協(xié)議格式說明。</p><p>  表2.1 TUIO協(xié)議格式說明</p><p&

92、gt;<b>  3自適應(yīng)閾值</b></p><p>  雖然經(jīng)過第二節(jié)闡述的圖像預(yù)處理步驟后,手指的輪廓點已經(jīng)比較清晰的出現(xiàn)在圖像中。但是從灰度圖像到最終的二值圖像轉(zhuǎn)化之間還需要平滑去噪,背景去除步驟,在這些步驟中需要人根據(jù)實際的條件實時調(diào)整參數(shù)的大小,使用起來并不是很方便。所以本文根據(jù)Ryan Dibble等人提出的“大津法”編寫了自適應(yīng)閾值程序,即不需要人工調(diào)整參數(shù),系統(tǒng)可以在一定程

93、度上自動完成在不同光照情況下由灰度圖像到二值圖像間的轉(zhuǎn)化。</p><p><b>  3.1大津法</b></p><p>  大津法的主要思想如下:</p><p>  對于圖像Image,記T為前景與背景的分割閾值,當(dāng)圖像某一部分的灰度值大于T時,將其劃分為前景;當(dāng)圖像某一部分的灰度值小于等于T時,將其劃分為背景。設(shè)背景點數(shù)占圖像比例為W

94、1,背景的平均灰度為U1。圖像的總平均灰度為: </p><p><b>  (3.1)</b></p><p>  其中i代表從0-255之間某一個灰度值,Pi 代表灰度值i所占整個圖像灰度的概率。從最小灰度值到最大灰度值遍歷T,當(dāng)T使得值</p><p><b>  (3.2)</b></p><p

95、>  最大時T即為分割的最佳閾值。對大津法可作如下理解:該式實際上就是類間方差值,閾值T分割出的前景和背景兩部分構(gòu)成整幅圖像,背景灰度平均值U1,概率為W1,總均值為UT,根據(jù)方差的定義既是該式的分母。因方差是灰度分布均勻性的一種度量,方差值越大,說明構(gòu)成圖像的兩部分差別越大,當(dāng)部分目標(biāo)錯為背景或者部分背景分為目標(biāo)都會導(dǎo)致兩部分差別變小,因此使類間方差最大的分割意味著錯分概率最小。同時在這個公式中的分母加入約束條件 。根據(jù)數(shù)學(xué)的知

96、識可以知道當(dāng)W1越小時,分母的值越小,fangcha的值就越大。也就是說在類間方差最大的情況下,如果滿足背景比例盡量大而前景比例盡量小,這時的分割效果最好,能夠很好排除細(xì)小噪聲的影響。</p><p>  3.2自適應(yīng)閾值主要代碼</p><p>  自適應(yīng)閾值程序的主要代碼如下:</p><p>  void otsu(IplImage* A, IplImage*

97、 B) //大津法函數(shù)</p><p><b>  {</b></p><p>  long N = hei * wid; //圖像總的像素</p><p>  int h[256];</p><p>  double p[256],u[256],w[256];</p><p>  for(i

98、nt i = 0; i < 256; i++)</p><p>  { h[i] = 0;</p><p><b>  p[i] = 0;</b></p><p><b>  u[i] = 0;</b></p><p>  w[i] = 0;}</p><p>  fo

99、r(int i2 = 0; i2 < hei; i2++) //計算圖像灰度直方圖</p><p><b>  {</b></p><p>  for(int j = 0; j < wid; j++)</p><p><b>  {</b></p><p>  for(int k = 0

100、; k < 256; k++)</p><p><b>  {</b></p><p>  if(((uchar*)(A->imageData + A->widthStep*i2))[j] == k)</p><p><b>  {</b></p><p><b>  h

101、[k]++; </b></p><p><b>  }}}}</b></p><p>  for( int i3 = 0; i3 < 256; i3++) //計算每一灰度的概率</p><p>  p[i3] = h[i3] / double(N);</p><p>  int T = 0;</

102、p><p>  double uT,fangcha;</p><p>  double fangcha_max= 0;</p><p>  for(int k = 0; k < 256; k++)</p><p><b>  {</b></p><p><b>  uT = 0;<

103、;/b></p><p>  for(int i = 0; i <= k; i++)</p><p><b>  {</b></p><p>  u[k] += i*p[i]; //計算背景平均灰度</p><p>  w[k] += p[i]; //計算背景點所占整幅圖像的概率 </p>

104、<p><b>  }</b></p><p>  for(int i2 = 0; i2 < 256; i2++)</p><p>  uT += i2*p[i2];</p><p>  fangcha = (uT*w[k] - u[k])*(uT*w[k] - u[k]) / (w[k]*(1-w[k])); // 計算fan

105、gcha大小</p><p>  if(fangcha > fangcha_max)</p><p><b>  {</b></p><p>  fangcha_max = fangcha;</p><p>  T = k; //找到具有最大fangcha值時對應(yīng)的閾值K</p><p>&

106、lt;b>  } </b></p><p><b>  }</b></p><p>  for(int i4 = 0; i4 < hei; i4++) // 利用閾值K對灰度圖像進(jìn)行二值化圖像變換</p><p><b>  { </b></p><p>  for(int

107、j = 0; j < wid; j++)</p><p><b>  {</b></p><p>  if(((uchar*)(A->imageData + A->widthStep*i4))[j] > T)</p><p>  ((uchar*)(B->imageData + B->widthStep*i4

108、))[j] = 255;</p><p><b>  else</b></p><p>  ((uchar*)(B->imageData + B->widthStep*i4))[j] = 0;</p><p><b>  }}}</b></p><p>  3.3自適應(yīng)閾值仿真結(jié)果<

109、;/p><p>  圖2.9所示為光照條件分別為暗、中、亮條件下利用本自適應(yīng)閾值方法進(jìn)行二值圖像轉(zhuǎn)換的仿真結(jié)果。雖然效果并不完美,存在個別觸點并沒有被顯示出來和仍然出現(xiàn)噪聲點的現(xiàn)象。但較原方法未進(jìn)行手動調(diào)整前的二值圖像(如圖2.4)效果已有了很大的提高,可以大大簡化圖像預(yù)處理的步驟。</p><p>  圖2.9 自適應(yīng)閾值仿真結(jié)果</p><p>  圖2.4 灰度圖

110、像經(jīng)初始閾值轉(zhuǎn)化成二值圖像</p><p>  4最小距離觸點跟蹤法</p><p>  在多點觸摸系統(tǒng)中,觸摸點的跟蹤是非常關(guān)鍵的一個步驟,因為能不能對觸摸點進(jìn)行快速準(zhǔn)確的跟蹤是后面進(jìn)行手勢識別的先決條件。NUI Group開發(fā)的多點觸摸開源代碼中使用的是KNN跟蹤算法,本文針對KNN算法跟蹤有明顯滯后的不足,基于“最小距離優(yōu)先法”改進(jìn)出了一種適用于本多點觸摸系統(tǒng)的跟蹤算法——最小距離觸

111、點跟蹤法。經(jīng)實驗證明,本文改進(jìn)的算法較KNN算法的跟蹤速率有明顯的提高,并且滯后時間縮短。接下來本文對KNN算法和最小距離觸點跟蹤法分別進(jìn)行具體闡述并比較。</p><p>  4.1KNN算法原理</p><p>  KNN(K-Nearest Neighbor algorithm)算法是“K最近鄰算法”的簡稱。此算法的核心思想是:在給定新樣本集后,考慮在訓(xùn)練樣本集(已分類樣本集)中與該

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論