版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計(jì)</b></p><p><b> (20 屆)</b></p><p> Windows Mobile 設(shè)備的攝像頭應(yīng)用開發(fā)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級
2、 電子信息工程 </p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要<
3、;/b></p><p> 攝像頭作為一種視頻終端設(shè)備,被廣泛運(yùn)用于圖像視頻采集。普通的人也可以彼此通過攝像頭在網(wǎng)絡(luò)進(jìn)行有影像、有聲音的交談和溝通。另外,人們還可以將其應(yīng)用于當(dāng)前各種流行的數(shù)碼影像,影音處理中。隨著多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,攝像頭將在未來的很長時間內(nèi)得以更廣泛的應(yīng)用,對其應(yīng)用進(jìn)行開發(fā)就具有很重要的現(xiàn)實(shí)意義。同時隨著攝像頭技術(shù)的提高與應(yīng)用軟件的不斷更新,攝像頭不再只是用做聊天的工具,其用途
4、越來越多,應(yīng)用范圍也越來越廣。隨著嵌入式系統(tǒng)的不斷發(fā)展,一種新的圖像采集系統(tǒng)-基于嵌入式的圖像采集系統(tǒng)得到廣泛的關(guān)注和研究。嵌入式圖像采集系統(tǒng)以其結(jié)構(gòu)簡單、成本低、體積小、靈活性好等眾多優(yōu)點(diǎn)有效地克服傳統(tǒng)圖像采集系統(tǒng)的缺點(diǎn),具有廣闊的發(fā)展前景。</p><p> 本文主要首先通過對Windows Mobile操作系統(tǒng)的內(nèi)核、圖形窗口與事件子系統(tǒng)和文件系統(tǒng)的研究,理解Windows Mobile操作系統(tǒng)運(yùn)行環(huán)境和
5、結(jié)構(gòu)特點(diǎn)。其次在研究理解攝像頭在智能設(shè)備中的工作原理的基礎(chǔ)上通過Visual Studio 2008集成開發(fā)環(huán)境對基于Windows Mobile系統(tǒng)操作平臺的攝像頭實(shí)現(xiàn)開發(fā)應(yīng)用。</p><p> 關(guān)鍵詞:攝像頭;嵌入式;圖像處理</p><p><b> Abstract</b></p><p> Camera as video te
6、rminal equipment is widely used in image video capture. Ordinary people can network with each other through the camera for a video, a voice conversation and communication. In addition, camera can also be used in the curr
7、ent variety of popular digital image, audio and video processing. With the development of multimedia and network technology, camera will be widely used in the future. So the application development of the camera is very
8、important. At the same time, as camera tec</p><p> In this paper, the kernel of Windows Mobile operating system, the graphics window with the event subsystem and file system research will be introduced firs
9、t. The Windows Mobile operating system runtime environment and structural characteristics will be studied secondly. Thirdly, based on the principle of camera in smart devices, the application development of camera on Win
10、dows Mobile device via visual studio 2008 will be studied.</p><p> Key Words: Camera; embedded; image processing</p><p><b> 目 錄</b></p><p><b> 1 引言1</b>
11、</p><p> 1.1 研究背景1</p><p> 1.2 研究內(nèi)容1</p><p> 1.3 研究現(xiàn)狀2</p><p> 2 Windows Mobile平臺與攝像頭4</p><p> 2.1 Windows Mobile操作系統(tǒng)環(huán)境與結(jié)構(gòu)特點(diǎn)4</p><p>
12、; 2.1.1 內(nèi)核4</p><p> 2.1.2 圖形窗口與事件子系統(tǒng)4</p><p> 2.1.3 文件系統(tǒng)6</p><p> 2.2 Windows Mobile程序與桌面Windows程序的差異6</p><p> 2.2.1 內(nèi)核差異6</p><p> 2.2.2 硬件差異6&
13、lt;/p><p> 2.2.3 接口函數(shù)差異7</p><p> 2.3 攝像頭原理7</p><p> 3 Windows Mobile 設(shè)備的攝像頭應(yīng)用開發(fā)9</p><p> 3.1 開發(fā)環(huán)境搭建與配置9</p><p> 3.2 Windows Mobile平臺上攝像頭的控制與操作9<
14、/p><p> 3.3 應(yīng)用軟件的設(shè)計(jì)與實(shí)現(xiàn)11</p><p> 3.3.1 設(shè)置圖像信息的路徑11</p><p> 3.3.2 設(shè)置圖像信息的文件名13</p><p> 3.3.3 設(shè)置圖像信息的大小14</p><p> 3.3.4 設(shè)置圖像信息的質(zhì)量16</p><p&g
15、t; 3.3.5 設(shè)置圖像信息的濾鏡18</p><p> 3.3.6 瀏覽圖像信息19</p><p><b> 4 結(jié)論21</b></p><p> 致 謝錯誤!未定義書簽。</p><p><b> 參考文獻(xiàn)22</b></p><p> 附錄
16、 應(yīng)用程序源代碼24</p><p><b> 1 引言</b></p><p><b> 1.1 研究背景</b></p><p> 視頻和圖像是能對客觀事物進(jìn)行直觀的表達(dá),是人們生活中重要的信息載體。特別是在現(xiàn)在高速發(fā)展的信息時代,隨著電子技術(shù)和網(wǎng)絡(luò)的發(fā)展,圖像采集設(shè)備也在經(jīng)歷著日新月異的變革[1]。圖像處理
17、技術(shù)是隨計(jì)算機(jī)技術(shù)的發(fā)展而誕生。它起源于20世紀(jì)20年代,隨著社會的進(jìn)步和發(fā)展,在進(jìn)入20世紀(jì)90年代后,圖像處理技術(shù)逐漸與人類生活和社會發(fā)展的各個方面發(fā)生聯(lián)系,成為無論是工作,生活,學(xué)習(xí)乃至是社會科學(xué)等各領(lǐng)域的研究對象[2]。</p><p> 隨著圖像處理技術(shù)和計(jì)算機(jī)技術(shù)的快速發(fā)展,各種各樣的數(shù)字圖像處理系統(tǒng)孕育而生。而移動智能設(shè)備技術(shù)的飛速發(fā)展,使得以嵌入式系統(tǒng)為核心的圖像處理系統(tǒng)能夠成為現(xiàn)實(shí)。嵌入式圖像
18、采集處理系統(tǒng)將圖像采集和圖像處理結(jié)合在一起,有效的提高了工作效率,具有廣闊的市場應(yīng)用前景。</p><p> 因此,基于Windows Mobile系統(tǒng)的嵌入式智能設(shè)備圖像采集處理技術(shù)在當(dāng)前正處于蓬勃發(fā)展階段,具有廣闊的研究前景,可廣泛應(yīng)用于工業(yè)自動化生產(chǎn),監(jiān)護(hù)、防盜系統(tǒng),機(jī)器人視覺等技術(shù)中[3]。</p><p><b> 1.2 研究內(nèi)容</b></p&
19、gt;<p> 本文主要通過理解Windows Mobile系統(tǒng)操作平臺和Windows Mobile設(shè)備上攝像頭工作的基本原理,研究Windows Mobile設(shè)備上通過攝像頭實(shí)現(xiàn)圖片和視頻信息的獲取,并且通過Visual Studio 2008集成開發(fā)環(huán)境對由攝像頭獲取的圖像信息進(jìn)行圖片和視頻的應(yīng)用開發(fā)。</p><p> 1. 首先通過對Windows Mobile操作系統(tǒng)的內(nèi)核、圖形窗口
20、與事件子系統(tǒng)和文件系統(tǒng)的研究,理解Windows Mobile操作系統(tǒng)運(yùn)行環(huán)境和結(jié)構(gòu)特點(diǎn)。Windows Mobile操作系統(tǒng)是基于智能移動設(shè)備的操作系統(tǒng),雖然它是由桌面Windows操作系統(tǒng)發(fā)展而來,但是它在很多方面都與桌面Windows系統(tǒng)有著很大的差異,為了更好的研究基于Windows Mobile操作系統(tǒng)的攝像頭的開發(fā)應(yīng)用,必須更多的了解它們之間的區(qū)別和聯(lián)系。本文從內(nèi)核,硬件和接口函數(shù)三個方面了解兩個操作系統(tǒng)之間的差異。例如:存
21、儲空間,硬件特征,API函數(shù),電源管理和程序的調(diào)試與測試等方面。</p><p> 2. 其次,研究理解攝像頭的工作原理。通過對Windows Mobile API中提供的攝像頭接口和Pocket Builder開發(fā)環(huán)境中提供的攝像頭接口這兩大接口的研究,理解攝像頭在智能設(shè)備中的工作原理。</p><p> 3. 在理解Windows Mobile系統(tǒng)操作平臺和攝像頭的工作原理后,通過
22、Visual Studio 2008集成開發(fā)環(huán)境對基于Windows Mobile系統(tǒng)操作平臺的攝像頭實(shí)現(xiàn)開發(fā)應(yīng)用。包括如何通過智能設(shè)備上的攝像頭獲取圖像信息,如何設(shè)置圖像信息的存儲路徑,更改圖像信息的存儲文件名,設(shè)置圖像信息的存儲大小,設(shè)置圖像信息的質(zhì)量和濾鏡,最后再在模擬器和真機(jī)上調(diào)試程序,達(dá)到對攝像頭進(jìn)行仿真和測試的目的。</p><p><b> 1.3 研究現(xiàn)狀</b></
23、p><p> 攝像頭作為一種視頻終端設(shè)備,隨著多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展將在未來的很長時間內(nèi)得以更廣泛的應(yīng)用,對攝像頭的應(yīng)用與開發(fā)就具有很重要的現(xiàn)實(shí)意義和研究價值。同時隨著攝像頭技術(shù)的提高與應(yīng)用軟件的不斷更新,攝像頭不再只是用做聊天的工具,其用途越來越多,應(yīng)用范圍也越來越廣。特別是近年來在各種嵌入式系統(tǒng)中攝像頭的應(yīng)用也越來越廣泛。</p><p> 廈門大學(xué)的董珉在他的《基于Windows
24、 Mobile嵌入式系統(tǒng)的人臉識別技術(shù)研究及應(yīng)用》一文中重點(diǎn)探討了如何在Windows Mobile智能設(shè)備上設(shè)計(jì)和實(shí)現(xiàn)人臉識別系統(tǒng)。首先利用Windows Mobile 5 API從設(shè)備的攝像頭獲取人臉圖像,再通過人臉檢測算法與人臉圖像數(shù)據(jù)庫進(jìn)行比較,最終實(shí)現(xiàn)人臉識別。</p><p> 東南大學(xué)的吳瓊在他的《采用USB攝像頭的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)》一文中論述了根據(jù)攝像頭在視頻監(jiān)控系統(tǒng)中的應(yīng)用,利用L
25、inux嵌入式系統(tǒng)開發(fā)技術(shù)與Internet技術(shù),根據(jù)固定場所使用的特點(diǎn),提出了一種采用USB攝像頭的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)實(shí)現(xiàn)方案,實(shí)現(xiàn)對固定場所的遠(yuǎn)程視頻監(jiān)控。</p><p> 大連理工大學(xué)的王曉飛在他的《基于RTSJ的攝像頭控制系統(tǒng)的研究與應(yīng)用》一文中從實(shí)際的企業(yè)需求出發(fā),在實(shí)時模型指導(dǎo)下開發(fā)了基于RTSJ(實(shí)時Java規(guī)范)的USB攝像頭控制系統(tǒng)。從攝像頭采集視頻數(shù)據(jù),接收用戶操作指令拍攝視頻,抓取圖
26、片,對攝像頭的各項(xiàng)屬性進(jìn)行調(diào)整等各方面克服了普通控制系統(tǒng)不能滿足實(shí)時性要求的缺點(diǎn)。</p><p> 2 Windows Mobile平臺與攝像頭</p><p> Windows Mobile是微軟公司為移動智能設(shè)備設(shè)計(jì)的操作系統(tǒng)。目前比較普遍的版本是Windows Mobile 6.0,其核心是Windows CE,它是專門為移動智能設(shè)備開發(fā)的一個操作系統(tǒng)[4]。本章內(nèi)容主要介紹了
27、Windows Mobile嵌入式操作系統(tǒng)的結(jié)構(gòu)特點(diǎn)和軟件運(yùn)行環(huán)境,為本文在Windows Mobile嵌入式操作系統(tǒng)上實(shí)現(xiàn)攝像頭的應(yīng)用開發(fā)做鋪墊。</p><p> 2.1 Windows Mobile操作系統(tǒng)環(huán)境與結(jié)構(gòu)特點(diǎn)</p><p> Windows Mobile操作系統(tǒng)為工作和生活展開了一種全新的開發(fā)藍(lán)圖。這個開放的、可裁剪的、32位的實(shí)時嵌入式操作系統(tǒng)成功的將桌面Wind
28、ows平臺延伸到移動硬件設(shè)備之上,而它的操作系統(tǒng)在保證程序兼容性的同時,并且支持更廣泛的開發(fā)應(yīng)用環(huán)境[5]。Windows Mobile的主要特點(diǎn)包括:可裁剪性高,多硬件支持,高度的模塊化,實(shí)時性支持比較穩(wěn)健,開發(fā)環(huán)境非常強(qiáng)大,還有就是具有豐富的現(xiàn)成資源[6]。Windows Mobile系統(tǒng)結(jié)構(gòu)如圖2-1所示。</p><p><b> 2.1.1 內(nèi)核</b></p>&
29、lt;p> 由于Windows Mobile系統(tǒng)是由桌面Windows系統(tǒng)發(fā)展而來的,所以Windows Mobile系統(tǒng)具有許多桌面Windows系統(tǒng)的優(yōu)點(diǎn):搶占執(zhí)行與保護(hù)模式運(yùn)行機(jī)制,多任務(wù)和多線程;具備一切基本的系統(tǒng)服務(wù),例如線程處理,進(jìn)程管理和內(nèi)存資源管理等[7]。 </p><p> 2.1.2 圖形窗口與事件子系統(tǒng)</p><p> Windows Mobile構(gòu)建
30、了GWES模塊,即圖形窗口和事件子系統(tǒng)。Windows Mobile的GWES可以讓用戶使用許多特殊的應(yīng)用,例如手寫輸入,聲音識別等功能[8]。GWES的結(jié)構(gòu)圖如圖2-2所示。</p><p> 圖2-1 Windows Mobile 系統(tǒng)結(jié)構(gòu)圖</p><p> 圖2-2 GWES 結(jié)構(gòu)圖</p><p> 2.1.3 文件系統(tǒng)</p>&
31、lt;p> Windows Mobile的文件系統(tǒng)主要是支持信息在RAM中的持久存儲管理。它的文件分配表也可以當(dāng)做是存儲卡:它能單獨(dú)處理存儲卡的每個分區(qū),使多文件支持成為可能。</p><p> 2.2 Windows Mobile程序與桌面Windows程序的差異</p><p> 智能設(shè)備的硬件環(huán)境和PC具有很多相似之處,當(dāng)然他們之間也是有很多不同的地方,具體表現(xiàn)在如下幾個
32、方面。</p><p> 2.2.1 內(nèi)核差異</p><p> Windows Mobile是基于嵌入式系統(tǒng)平臺的,它的內(nèi)核采用動態(tài)鏈接庫(DLL)實(shí)現(xiàn),這樣就能使系統(tǒng)的可用內(nèi)存空間能夠得到最大限度的利用。為了將應(yīng)用程序的尺寸裁剪的盡量小以適應(yīng)嵌入式系統(tǒng),它的程序之間可以共享使用可載入式的動態(tài)鏈接庫,以盡可能多的降低駐留在內(nèi)存上的代碼量[9]。</p><p>
33、; 2.2.2 硬件差異</p><p> 通常Windows Mobile嵌入式系統(tǒng)的內(nèi)存要比桌面操作系統(tǒng)小很多,而且這些系統(tǒng)一般不可能外接大容量的存儲設(shè)備。所以在移植桌面系統(tǒng)時,在保證不影響移植后的程序在嵌入式系統(tǒng)中正常運(yùn)行的基礎(chǔ)上盡量得將程序的尺寸進(jìn)行裁剪。</p><p> Windows Mobile程序通常運(yùn)行于沒有PC那么強(qiáng)大的硬件環(huán)境上。因此,Windows Mobi
34、le系統(tǒng)上的程序開發(fā),需要通過模擬器加快開發(fā)的進(jìn)度,但是開發(fā)后的程序也必須在實(shí)際的硬件設(shè)備上測試,以保證其運(yùn)行的正常。</p><p> Windows Mobile系統(tǒng)一般使用電池供電,電源的續(xù)航能力十分有限,所以程序應(yīng)該盡可能少地消耗電量。為了節(jié)省電量,Windows Mobile智能設(shè)備在系統(tǒng)中設(shè)置了休眠狀態(tài),即在設(shè)備不在使用的時候高耗能的設(shè)備會被暫時關(guān)閉,盡可能的減少電源的消耗。當(dāng)系統(tǒng)再次被激活的時候,
35、應(yīng)用程序就從休眠中恢復(fù)。</p><p> 2.2.3 接口函數(shù)差異</p><p> Windows Mobile的API是Win32 API的一個子集,是精簡其中部分函數(shù)的實(shí)現(xiàn)。所以Windows Mobile雖然支持Win32的結(jié)構(gòu)化異常處理,但卻并不支持C++異常處理。但是Windows Mobile的應(yīng)用程序接口中也加入了一些適用于嵌入式系統(tǒng)的特定功能,例如觸摸屏和攝像頭等。
36、</p><p> 桌面Windows應(yīng)用不使用仿真器,而Windows Mobile系統(tǒng)的大部分調(diào)試與測試工作要在開發(fā)工具提供的仿真環(huán)境中進(jìn)行,因?yàn)閃indows Mobile系統(tǒng)API包含用于調(diào)試的接口(DebugActive和DebugEvent)可用來建立系統(tǒng)內(nèi)部調(diào)試[10]。</p><p><b> 2.3 攝像頭原理</b></p>&
37、lt;p> 攝像頭是一種視頻輸入設(shè)備,被廣泛運(yùn)用于圖像視頻采集。普通的人也可以彼此通過攝像頭在網(wǎng)絡(luò)進(jìn)行有影像、有聲音的交談和溝通[11]。另外,人們還可以將其用于當(dāng)前各種流行的圖像信息處理。</p><p> 攝像頭分為數(shù)字?jǐn)z像頭和模擬攝像頭兩大類。模擬攝像頭可以將設(shè)備采集來的模擬信號轉(zhuǎn)換成數(shù)字信號,然后儲存在計(jì)算機(jī)里。而數(shù)字?jǐn)z像頭可以直接采集圖像和視頻信號,然后通過程序接口發(fā)送給計(jì)算機(jī)[12]。<
38、;/p><p> 攝像頭的工作原理大致為:景物通過鏡頭生成的光學(xué)圖像投射到圖像傳感器表面上,然后轉(zhuǎn)為電信號,經(jīng)過A/D(模數(shù)轉(zhuǎn)換)轉(zhuǎn)換后變?yōu)閿?shù)字圖像信號,再送到數(shù)字信號處理芯片(DSP)中加工處理,再通過USB接口傳輸?shù)诫娔X中處理,通過顯示器就可以看到圖像了。</p><p> 據(jù)IT行業(yè)硬件發(fā)展的“摩爾定律”來看,數(shù)字?jǐn)z像頭也同樣遵循其發(fā)展規(guī)律的,相信在未來幾年內(nèi)會發(fā)展的很快。從目前市場
39、情況來看,制約攝像頭發(fā)展的因素主要有以下幾個方面的原因: </p><p> 1、攝像頭市場起步較晚,消費(fèi)者認(rèn)知度、接受度較低,所以普及率較低,市場容量增大速度不夠快,需要加以一定引導(dǎo)來推動市場消費(fèi)。</p><p> 2、攝像頭的實(shí)際應(yīng)用不夠廣泛,有一定的局限性,目前還是作為一種消費(fèi)類產(chǎn)品在銷售,消費(fèi)者只是把它作為視頻聊天、制作簡單的個人影像集、簡單的監(jiān)視系統(tǒng)等的工具。</p&
40、gt;<p> 3、現(xiàn)在電腦硬件的限制,如電腦顯示卡、顯示器的分辨率和USB接口速度,影響了高像素?cái)z像的真正普及。</p><p> 3 Windows Mobile 設(shè)備的攝像頭應(yīng)用開發(fā)</p><p> 3.1 開發(fā)環(huán)境搭建與配置</p><p> Visual Studio 是一套完整的開發(fā)工具集,用于生成 ASP.NET Web 應(yīng)用
41、程序、XML Web Services、桌面應(yīng)用程序和移動應(yīng)用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應(yīng)用程序和 XML Web Services 開發(fā)的關(guān)鍵技術(shù)。</p>
42、<p> 本軟件以Windows Mobile 6.0為操作系統(tǒng)平臺,以多普達(dá)T8588為硬件設(shè)備(采用Windows Mobile 6.5 Professional系統(tǒng)),在Visual Studio 2008和Windows Mobile 6.0 Professional SDK的集成開發(fā)環(huán)境中,使用C#語言進(jìn)行托管代碼的應(yīng)用開發(fā)。</p><p> 3.2 Windows Mobile平臺上
43、攝像頭的控制與操作</p><p> 微軟推出Windows Mobile 5.0后,對攝像頭應(yīng)用程序接口進(jìn)行了重新編寫,使得開發(fā)者為內(nèi)置攝像頭的智能設(shè)備開發(fā)應(yīng)用軟件變得簡單許多?,F(xiàn)在智能設(shè)備上的攝像頭操作方式一般有:使用Windows Mobile 5.0 API中提供的攝像頭接口類;使用Pocket Builder環(huán)境提供的移動設(shè)備攝像頭接口[13]。</p><p> Windo
44、ws Mobile 5.0通過集成的攝像頭應(yīng)用程序編程接口(API)提供優(yōu)秀的多媒體支持,這些應(yīng)用程序編程接口使開發(fā)者能夠?qū)z像頭和圖像信息功能直接嵌入到應(yīng)用程序中[14]。它還包括大量新增的多媒體API。Windows Mobile中和Camera相關(guān)的API如表3-1所示。利用Windows Mobile API控制智能設(shè)備攝像頭捕獲圖像或視頻流的流程如圖3-1所示。</p><p> 表3-1 Wind
45、ows Mobile Camera相關(guān)API</p><p> 圖3-1 利用Windows Mobile API捕獲圖像或視頻流的流程</p><p> 為了智能設(shè)備的開發(fā),Sybase公司專門設(shè)計(jì)了一套綜合開發(fā)環(huán)境(Pocket Builder),它是移動智能設(shè)備PAD(快速開發(fā)環(huán)境)的典型代表[15]。</p><p> 為了可以更方便的對智能設(shè)備的攝
46、像頭進(jìn)行控制和操作,Pocket Builder開發(fā)環(huán)境提供了嵌入式移動設(shè)備攝像頭接口Camera對象。目前該對象支持的攝像頭類型如下:General Windows Mobile 5.0,VEO 130S,Hp Photosmart和HTC using IA Camera[16]。</p><p> 3.3 應(yīng)用軟件的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 在理解Windows Mobile系
47、統(tǒng)操作平臺和攝像頭的工作原理后,通過Visual Studio 2008集成開發(fā)環(huán)境對基于Windows Mobile系統(tǒng)操作平臺的攝像頭實(shí)現(xiàn)開發(fā)應(yīng)用。</p><p> 3.3.1 設(shè)置圖像信息的路徑</p><p> 第一步,在模擬界面上設(shè)置圖像信息的保存路徑。在路徑選擇控件中選擇將圖像信息的路徑設(shè)置為\Temp,那么當(dāng)由攝像頭獲取的圖像信息將保存在\Temp這個文件夾中。界面如圖
48、3-2~圖3-4所示。</p><p> 在Visual Studio 2008開發(fā)軟件上實(shí)現(xiàn)這一功能的程序模塊是:</p><p> DirectoryBrowser directory = new DirectoryBrowser();</p><p> directory.ShowDialog();</p><p> if (d
49、irectory.DialogResult == DialogResult.OK </p><p> && directory.SelectedDirectory != string.Empty)</p><p><b> {</b></p><p> PictureDirectoryPath.Text = direct
50、ory.SelectedDirectory;</p><p><b> }</b></p><p> 圖3-2 選擇設(shè)置路徑操作界面</p><p> 圖3-3 選擇圖片保存路徑</p><p> 圖3-4 設(shè)定圖片保存路徑</p><p> 3.3.2 設(shè)置圖像信息的文件名<
51、;/p><p> 第二步,設(shè)置圖像信息文件名。我們將圖像信息的文件名設(shè)置為My Picture。那么,當(dāng)攝像頭獲取圖像信息后,這個圖像信息將以My Picture的文件名保存在之前設(shè)置的路徑\Temp中。如圖3-5和圖3-6所示。</p><p> 實(shí)現(xiàn)這一功能的程序模塊是:</p><p> if (textDefaultFileName.ReadOnly)&l
52、t;/p><p><b> {</b></p><p> textDefaultFileName.ReadOnly = false;</p><p> btnSetName.Text= Coding4FunCamera.Properties.Resources.ApplySetFileName;</p><p><
53、;b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> textDefaultFileName.ReadOnly = true;</p><p> btnSetName.Text= Coding4FunCam
54、era.Properties.Resources.SetFileName;</p><p><b> }</b></p><p> 圖3-5 選擇設(shè)置文件名操作界面</p><p> 圖3-6 設(shè)置圖片文件名</p><p> 3.3.3 設(shè)置圖像信息的大小</p><p> 第三步
55、,設(shè)置圖像信息的大小。我們把將要保存的圖像信息的大小設(shè)置為200*200的大小。那么,這個由攝像頭獲取的圖像信息將以200*200的大小保存到之前設(shè)置的指定的文件夾中。界面如圖3-7和圖3-8所示。</p><p> 實(shí)現(xiàn)這一操作的程序模塊是:</p><p> if (textWidth.ReadOnly)</p><p><b> {</b
56、></p><p> btnSetResolution.Text= Coding4FunCamera.Properties.Resources.ApplyEditingButtonText;</p><p> textHeight.ReadOnly = false;</p><p> textWidth.ReadOnly = false;</p&g
57、t;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> btnSetResolution.Text= Coding4FunCamera.Properties.Resources.EditButtonTe
58、xt;</p><p> textHeight.ReadOnly = true;</p><p> textWidth.ReadOnly = true;</p><p><b> }</b></p><p> 圖3-7 選擇設(shè)置圖片大小操作界面</p><p> 圖3-8 設(shè)置圖片大
59、小</p><p> 3.3.4 設(shè)置圖像信息的質(zhì)量</p><p> 第四步,設(shè)置由攝像頭獲取的圖像信息的質(zhì)量。打開質(zhì)量控件在Default,Low,Normal,High四種質(zhì)量中選擇某一質(zhì)量要求。我們將圖像信息的質(zhì)量設(shè)置為Normal。那么,獲取的圖像信息將以Normal的質(zhì)量要求保存進(jìn)指定的文件夾中。</p><p> 實(shí)現(xiàn)這一功能的設(shè)置界面如圖3-9
60、所示。</p><p> 圖3-9 控制圖片質(zhì)量模塊</p><p> 界面演示如圖3-10和圖3-11所示。</p><p> 圖3-10 選擇設(shè)置圖片質(zhì)量操作界面</p><p> 圖3-11 設(shè)置圖片質(zhì)量</p><p> 3.3.5 設(shè)置圖像信息的濾鏡</p><p>
61、 第五步,設(shè)置此圖像信息的濾鏡。濾鏡選擇界面有彩色、黑白和Sepia Tone三個濾鏡可以選擇,我們將這個圖像信息的濾鏡設(shè)置為彩色。那么,當(dāng)我們?yōu)g覽這個圖像信息的時候,我們將看到彩色的圖像信息。實(shí)現(xiàn)這一操作的功能模塊是Radio Button,如圖3-12所示。</p><p> Windows 窗體 RadioButton 控件為用戶提供由兩個或多個互斥選項(xiàng)組成的選項(xiàng)集。當(dāng)單擊 RadioButton 控件時
62、,其 Checked 屬性設(shè)置為 true,并且調(diào)用 Click 事件處理程序。當(dāng) Checked 屬性的值更改時,將引發(fā) CheckedChanged 事件。如果 AutoCheck 屬性設(shè)置為 true(默認(rèn)值),則當(dāng)選擇單選按鈕時,將自動清除該組中的所有其他單選按鈕。通常僅當(dāng)使用驗(yàn)證代碼確保選定的單選按鈕是允許的選項(xiàng)時,才將該屬性設(shè)置為 false??丶?nèi)顯示的文本使用 Text 屬性進(jìn)行設(shè)置,該屬性可以包含訪問鍵快捷方式。訪問鍵
63、允許用戶通過按 Alt 鍵和訪問鍵來“單擊”控件。如果 Appearance 屬性設(shè)置為 Button,則 RadioButton 控件的顯示與命令按鈕相似,選中時會顯示為按下狀態(tài)。通過使用 Image 和 ImageList 屬性,單選按鈕還可以顯示圖像。</p><p> 圖3-12 設(shè)置圖片濾鏡</p><p> 3.3.6 瀏覽圖像信息</p><p>
64、; 最后,當(dāng)我們把攝像頭獲取的圖像信息以我們的要求保存后,我們可以在模擬界面上瀏覽這個圖像信息。打開瀏覽界面,我們可以找到我們保存的圖像信息,打開圖像信息文件我們就可以看到我們保存的圖像信息了。如圖3-13、圖3-14和圖3-15所示。</p><p> 圖3-13 選擇瀏覽圖片界面</p><p> 圖3-14 瀏覽圖片</p><p> 圖3-15
65、 瀏覽圖片</p><p><b> 4 結(jié)論</b></p><p> 本文主要對基于Windows Mobile的嵌入式系統(tǒng)攝像頭的開發(fā)應(yīng)用的研究意義,研究方法和具體研究進(jìn)行了論述。分析基于Windows Mobile的嵌入式系統(tǒng)的軟件開發(fā)環(huán)境的結(jié)構(gòu)特點(diǎn),對比Windows Mobile嵌入式系統(tǒng)和傳統(tǒng)的桌面Windows系統(tǒng)的差異,結(jié)合嵌入式設(shè)備應(yīng)用的特殊軟
66、件運(yùn)行環(huán)境,增進(jìn)對Windows Mobile的嵌入式操作系統(tǒng)的理解,掌握在Windows Mobile的嵌入式系統(tǒng)平臺下對攝像頭開發(fā)應(yīng)用研究與實(shí)現(xiàn)的方法。</p><p> 將嵌入式和圖像處理技術(shù)的概念結(jié)合起來,設(shè)計(jì)并實(shí)現(xiàn)基于Windows Mobile的圖像處理系統(tǒng)。本系統(tǒng)基于Visual Studio 2008開發(fā)實(shí)現(xiàn),完成基于Windows Mobile操作系統(tǒng)的圖像處理應(yīng)用程序的開發(fā)、調(diào)試與測試流程,
67、最后通過仿真模擬來實(shí)現(xiàn)設(shè)置圖像信息的存儲路徑,更改圖像信息的存儲文件名,設(shè)置圖像信息的存儲大小,設(shè)置圖像信息的質(zhì)量和濾鏡,最后再在模擬器上瀏覽圖片的具體操作。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]唐磊.基于S3C2440 ARM Linux圖像采集系統(tǒng)的研究[D].武漢科技大學(xué):控制理論與控制工程.2008.</p>
68、<p> [2]阮秋琦.?dāng)?shù)字圖像處理學(xué)[M].北京:電子工業(yè)出版社,2001.</p><p> [3]文軍,何為,譙小艷等.基于嵌入式系統(tǒng)的輸電線舞動在線監(jiān)測系統(tǒng)[J].電工電能新技術(shù),2010,29(1):71-75.</p><p> [4]Microsoft Windows Mobile[EB/OL].</p><p> http://ww
69、w.microsoft.com/china/windowsmobile/default.mspx.2008</p><p> [5]黃曉昆.Windows Mobile平臺木馬關(guān)鍵技術(shù)的研究與實(shí)現(xiàn)[D].中山大學(xué):軟件工程.2008.</p><p> [6]傅曦,陳黎,石衛(wèi)華等.WindowsCE嵌入式開發(fā)入門-基于Xscale架構(gòu)[M].北</p><p>
70、 京:人民郵電出版社,2006.</p><p> [7]嵌入式研究網(wǎng)[EB/OL].http://www.cnemb.com</p><p> [8]胡虛懷,鄭若忠.WindowsCE的結(jié)構(gòu)與特征分析[J].電腦技術(shù)信息,2000,5 (17):4-6.</p><p> [9]張曉峰.基于Windows Mobile嵌入式系統(tǒng)的圖像處理研究及其應(yīng)用[D]
71、.西南交通大學(xué):電氣系統(tǒng)控制與信息技術(shù).2010.</p><p> [10]傅曦,齊宇,徐俊.Windows Mobile手機(jī)應(yīng)用開發(fā)[M].人民郵電出版社.2007.</p><p> [11]Woonchul Ham,Hyunsok Choi.Development of 3D Stereoscopic Camera </p><p> Interfac
72、e Based on Embedded system[J].WSEAS Transactions on Systems.2007,6(2):27-31.</p><p> [12]吳瓊.采用USB攝像頭的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[D].東南大學(xué):</p><p> 醫(yī)學(xué)電子學(xué).2009.</p><p> [13]黃睿邦,湯榮江,李文亮.Linux下基于V
73、ideo4Linux的USB攝像頭視頻采集實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2009,12(6):182-185.</p><p> [14]CSDN[EB/OL]:http://www.csdn.net</p><p> [15]Sybase.Introduction to PocketBuilder[J].Elecrronic letters,2004,15(2):46-48.&l
74、t;/p><p> [16]董珉.基于Windows Mobile嵌入式系統(tǒng)的人臉識別技術(shù)研究及應(yīng)用[D].廈門:廈門大學(xué),軟件工程.2008.</p><p> 附錄 應(yīng)用程序源代碼</p><p> 程序主界面(MainForm.cs)</p><p> using System;</p><p> usi
75、ng System.Linq;</p><p> using System.Collections.Generic;</p><p> using System.ComponentModel;</p><p> using System.Data;</p><p> using System.Drawing;</p>&
76、lt;p> using System.Drawing.Imaging;</p><p> using System.Text;</p><p> using System.Windows.Forms;</p><p> using Microsoft.WindowsMobile.Forms;</p><p> using Sy
77、stem.IO;</p><p> namespace CameraOnWM</p><p><b> {</b></p><p> public partial class CameraOnWMForm: Form</p><p><b> {</b></p><p&g
78、t; private const string _cameraDefaultPictureExtension = ".jpg";</p><p> public CameraOnWMForm ()</p><p><b> {</b></p><p> InitializeComponent();</p>
79、<p><b> }</b></p><p> private void CameraOnWMForm_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> PictureDirectoryPath.Text = DirectoryB
80、rowser.PersonalDirectory;</p><p> textWidth.Text = Coding4FunCamera.Properties.Resources.WidthResolution;</p><p> textHeight.Text = Coding4FunCamera.Properties.Resources.HeightResolution;</
81、p><p> textDefaultFileName.Text = Coding4FunCamera.Properties.Resources.DefaultFileName;</p><p> btnSetResolution.Text = Coding4FunCamera.Properties.Resources.EditButtonText;</p><p>
82、 radioColor.Checked = true;</p><p> StillQualitySelection.SelectedItem = "Default";</p><p> if (!IsCameraEnabled())</p><p><b> {</b></p><p>
83、Application.Exit();</p><p><b> }</b></p><p><b> }</b></p><p> private void btnSetPictureDirectory_Click(object sender, EventArgs e)</p><p>&l
84、t;b> {</b></p><p> DirectoryBrowser directory = new DirectoryBrowser();</p><p> directory.ShowDialog();</p><p> if (directory.DialogResult == DialogResult.OK </p>
85、<p> && directory.SelectedDirectory != string.Empty)</p><p><b> {</b></p><p> PictureDirectoryPath.Text = directory.SelectedDirectory;</p><p><b>
86、; }</b></p><p><b> }</b></p><p> private void menuExit_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Application.Exit();
87、</p><p><b> }</b></p><p> private void menuCameraDialog_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> TakeStillPicture();</p
88、><p><b> }</b></p><p> protected CameraCaptureStillQuality StillQuality</p><p><b> {</b></p><p><b> get</b></p><p><
89、;b> {</b></p><p> return (CameraCaptureStillQuality)StillQualitySelection.SelectedIndex;</p><p><b> }</b></p><p><b> }</b></p><p>
90、 private void TakeStillPicture()</p><p><b> {</b></p><p> CameraCaptureDialog cameraCapture = new CameraCaptureDialog();</p><p> cameraCapture.StillQuality = this.St
91、illQuality;</p><p> cameraCapture.Owner = this;</p><p> cameraCapture.DefaultFileName = textDefaultFileName.Text;</p><p> cameraCapture.InitialDirectory = PictureDirectoryPath.Te
92、xt;</p><p> cameraCapture.Resolution = new Size(Convert.ToInt32(textWidth.Text), Convert.ToInt32(textHeight.Text));</p><p> //We create a temp file name to see can create the final picture wit
93、h the filter applied </p><p> if (!cameraCapture.DefaultFileName.ToLower().EndsWith(_cameraDefaultPictureExtension))</p><p><b> {</b></p><p> cameraCapture.DefaultFil
94、eName = cameraCapture.DefaultFileName + "___TEMP" + _cameraDefaultPictureExtension;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</
95、b></p><p> cameraCapture.DefaultFileName.Replace(_cameraDefaultPictureExtension, "___TEMP" + _cameraDefaultPictureExtension);</p><p><b> }</b></p><p><
96、b> try</b></p><p><b> {</b></p><p> // Displays the "Camera Capture" dialog box</p><p> if (DialogResult.OK == cameraCapture.ShowDialog())</p&g
97、t;<p><b> {</b></p><p> string fileName = cameraCapture.FileName.Replace("___TEMP", "");</p><p> ICameraFilter filter = GetPictureFilter(cameraCapture.F
98、ileName);</p><p> string saveFileName = CameraFileUtilities.incrementFileNameNumber(fileName);</p><p> filter.Apply().Save(saveFileName, ImageFormat.Jpeg);</p><p> File.Delete(ca
99、meraCapture.FileName);</p><p> // The method completed successfully.</p><p> MessageBox.Show("圖片已經(jīng)保存到:\n\n" + saveFileName,</p><p> this.Text, MessageBoxButtons.OK, Mes
100、sageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);</p><p><b> }</b></p><p><b> }</b></p><p> catch (ArgumentException ex)</p><p><b&g
101、t; {</b></p><p> // An invalid argument was specified.</p><p> MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK,</p><p> MessageBoxIcon.Exclamation, MessageBoxD
102、efaultButton.Button1);</p><p><b> }</b></p><p> catch (OutOfMemoryException ex)</p><p><b> {</b></p><p> // There is not enough memory to sa
103、ve the image or video.</p><p> MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK,</p><p> MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);</p><p><b> }</
104、b></p><p> catch (InvalidOperationException ex)</p><p><b> {</b></p><p> // An unknown error occurred.</p><p> MessageBox.Show(ex.Message, this.Text,
105、 MessageBoxButtons.OK,</p><p> MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1);</p><p><b> }</b></p><p> catch (System.Exception ex)</p><p><b&g
106、t; {</b></p><p> // An unknown error occurred.</p><p> MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK,</p><p> MessageBoxIcon.Hand, MessageBoxDefaultButton.Bu
107、tton1);</p><p><b> }</b></p><p><b> }</b></p><p> public ICameraFilter GetPictureFilter(string fileName)</p><p><b> {</b></p&
108、gt;<p> if (radioColor.Checked)</p><p><b> {</b></p><p> return new ColorFilter(fileName);</p><p><b> }</b></p><p> else if (radioBW
109、.Checked)</p><p><b> {</b></p><p> return new BlackAndWhiteFilter(fileName);</p><p><b> }</b></p><p> else //radioSepia.Checked</p>&
110、lt;p><b> {</b></p><p> return new SepiaFilter(fileName);</p><p><b> }</b></p><p><b> }</b></p><p> private bool IsCameraEnab
111、led()</p><p><b> {</b></p><p> object cameraEnabled = Microsoft.WindowsMobile.Status.SystemState.GetValue(Microsoft.WindowsMobile.Status.SystemProperty.CameraEnabled);</p>&
112、lt;p> if (null != cameraEnabled && 0 == (int)cameraEnabled)</p><p><b> {</b></p><p> MessageBox.Show("攝像頭被禁止使用", this.Text,</p><p> MessageBoxBu
113、ttons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);</p><p> return false;</p><p><b> }</b></p><p><b> else</b></p><p><
114、;b> {</b></p><p> return true;</p><p><b> }</b></p><p><b> }</b></p><p> private void btnSetResolution_Click(object sender, EventA
115、rgs e)</p><p><b> {</b></p><p> if (textWidth.ReadOnly)</p><p><b> {</b></p><p> btnSetResolution.Text = Coding4FunCamera.Properties.Resourc
116、es.ApplyEditingButtonText;</p><p> textHeight.ReadOnly = false;</p><p> textWidth.ReadOnly = false;</p><p><b> }</b></p><p><b> else</b><
117、/p><p><b> {</b></p><p> btnSetResolution.Text = Coding4FunCamera.Properties.Resources.EditButtonText;</p><p> textHeight.ReadOnly = true;</p><p> textWidt
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- windows mobile設(shè)備的攝像頭應(yīng)用開發(fā)【開題報告】
- windows mobile設(shè)備的攝像頭應(yīng)用開發(fā)【任務(wù)書】
- windows mobile設(shè)備上的gps定位應(yīng)用開發(fā)【畢業(yè)論文】
- windows mobile 設(shè)備的短信防火墻開發(fā)【畢業(yè)論文】
- windows7系統(tǒng)的攝像頭
- 計(jì)算機(jī)畢業(yè)論文--多媒體攝像頭程序開發(fā)與應(yīng)用
- 基于藍(lán)牙技術(shù)的windows mobile設(shè)備通信開發(fā)【畢業(yè)論文】
- 基于opengl es技術(shù)的windows mobile設(shè)備文字圖形開發(fā)【畢業(yè)論文】
- 嵌入式設(shè)備上的攝像頭應(yīng)用開發(fā)綜述【文獻(xiàn)綜述】
- windows mobile 設(shè)備上的無線局域網(wǎng)管理器開發(fā)【畢業(yè)論文】
- 基于socket技術(shù)的windows mobile設(shè)備間的實(shí)時消息工具開發(fā)【畢業(yè)論文】
- 基于windows mobile的zigbee探測儀開發(fā)【畢業(yè)論文】
- 基于socket技術(shù)的windows mobile設(shè)備間的文件傳輸工具開發(fā)【畢業(yè)論文】
- 攝像頭芯片原理與應(yīng)用
- 監(jiān)控?cái)z像頭
- 監(jiān)控?cái)z像頭
- 攝像頭底座注塑模具設(shè)計(jì)【畢業(yè)論文答辯資料】
- 攝像頭底座的注塑模具設(shè)計(jì)【畢業(yè)論文+cad圖紙全套】
- 倒車攝像頭的安裝
- windows mobile設(shè)備上的gps定位應(yīng)用開發(fā)【開題報告】
評論
0/150
提交評論