2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  本科畢業(yè)設計</b></p><p><b>  (20 屆)</b></p><p>  Windows Mobile 設備的攝像頭應用開發(fā)</p><p>  所在學院 </p><p>  專業(yè)班級

2、 電子信息工程 </p><p>  學生姓名 學號 </p><p>  指導教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要<

3、;/b></p><p>  攝像頭作為一種視頻終端設備,被廣泛運用于圖像視頻采集。普通的人也可以彼此通過攝像頭在網絡進行有影像、有聲音的交談和溝通。另外,人們還可以將其應用于當前各種流行的數(shù)碼影像,影音處理中。隨著多媒體技術和網絡技術的發(fā)展,攝像頭將在未來的很長時間內得以更廣泛的應用,對其應用進行開發(fā)就具有很重要的現(xiàn)實意義。同時隨著攝像頭技術的提高與應用軟件的不斷更新,攝像頭不再只是用做聊天的工具,其用途

4、越來越多,應用范圍也越來越廣。隨著嵌入式系統(tǒng)的不斷發(fā)展,一種新的圖像采集系統(tǒng)-基于嵌入式的圖像采集系統(tǒng)得到廣泛的關注和研究。嵌入式圖像采集系統(tǒng)以其結構簡單、成本低、體積小、靈活性好等眾多優(yōu)點有效地克服傳統(tǒng)圖像采集系統(tǒng)的缺點,具有廣闊的發(fā)展前景。</p><p>  本文主要首先通過對Windows Mobile操作系統(tǒng)的內核、圖形窗口與事件子系統(tǒng)和文件系統(tǒng)的研究,理解Windows Mobile操作系統(tǒng)運行環(huán)境和

5、結構特點。其次在研究理解攝像頭在智能設備中的工作原理的基礎上通過Visual Studio 2008集成開發(fā)環(huán)境對基于Windows Mobile系統(tǒng)操作平臺的攝像頭實現(xiàn)開發(fā)應用。</p><p>  關鍵詞:攝像頭;嵌入式;圖像處理</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 研究內容1</p><p>  1.3 研究現(xiàn)狀2</p><p>  2 Windows Mobile平臺與攝像頭4</p><p>  2.1 Windows Mobile操作系統(tǒng)環(huán)境與結構特點4</p><p>

12、;  2.1.1 內核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 內核差異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 設備的攝像頭應用開發(fā)9</p><p>  3.1 開發(fā)環(huán)境搭建與配置9</p><p>  3.2 Windows Mobile平臺上攝像頭的控制與操作9<

14、/p><p>  3.3 應用軟件的設計與實現(xiàn)11</p><p>  3.3.1 設置圖像信息的路徑11</p><p>  3.3.2 設置圖像信息的文件名13</p><p>  3.3.3 設置圖像信息的大小14</p><p>  3.3.4 設置圖像信息的質量16</p><p&g

15、t;  3.3.5 設置圖像信息的濾鏡18</p><p>  3.3.6 瀏覽圖像信息19</p><p><b>  4 結論21</b></p><p>  致 謝錯誤!未定義書簽。</p><p><b>  參考文獻22</b></p><p>  附錄

16、 應用程序源代碼24</p><p><b>  1 引言</b></p><p><b>  1.1 研究背景</b></p><p>  視頻和圖像是能對客觀事物進行直觀的表達,是人們生活中重要的信息載體。特別是在現(xiàn)在高速發(fā)展的信息時代,隨著電子技術和網絡的發(fā)展,圖像采集設備也在經歷著日新月異的變革[1]。圖像處理

17、技術是隨計算機技術的發(fā)展而誕生。它起源于20世紀20年代,隨著社會的進步和發(fā)展,在進入20世紀90年代后,圖像處理技術逐漸與人類生活和社會發(fā)展的各個方面發(fā)生聯(lián)系,成為無論是工作,生活,學習乃至是社會科學等各領域的研究對象[2]。</p><p>  隨著圖像處理技術和計算機技術的快速發(fā)展,各種各樣的數(shù)字圖像處理系統(tǒng)孕育而生。而移動智能設備技術的飛速發(fā)展,使得以嵌入式系統(tǒng)為核心的圖像處理系統(tǒng)能夠成為現(xiàn)實。嵌入式圖像

18、采集處理系統(tǒng)將圖像采集和圖像處理結合在一起,有效的提高了工作效率,具有廣闊的市場應用前景。</p><p>  因此,基于Windows Mobile系統(tǒng)的嵌入式智能設備圖像采集處理技術在當前正處于蓬勃發(fā)展階段,具有廣闊的研究前景,可廣泛應用于工業(yè)自動化生產,監(jiān)護、防盜系統(tǒng),機器人視覺等技術中[3]。</p><p><b>  1.2 研究內容</b></p&

19、gt;<p>  本文主要通過理解Windows Mobile系統(tǒng)操作平臺和Windows Mobile設備上攝像頭工作的基本原理,研究Windows Mobile設備上通過攝像頭實現(xiàn)圖片和視頻信息的獲取,并且通過Visual Studio 2008集成開發(fā)環(huán)境對由攝像頭獲取的圖像信息進行圖片和視頻的應用開發(fā)。</p><p>  1. 首先通過對Windows Mobile操作系統(tǒng)的內核、圖形窗口

20、與事件子系統(tǒng)和文件系統(tǒng)的研究,理解Windows Mobile操作系統(tǒng)運行環(huán)境和結構特點。Windows Mobile操作系統(tǒng)是基于智能移動設備的操作系統(tǒng),雖然它是由桌面Windows操作系統(tǒng)發(fā)展而來,但是它在很多方面都與桌面Windows系統(tǒng)有著很大的差異,為了更好的研究基于Windows Mobile操作系統(tǒng)的攝像頭的開發(fā)應用,必須更多的了解它們之間的區(qū)別和聯(lián)系。本文從內核,硬件和接口函數(shù)三個方面了解兩個操作系統(tǒng)之間的差異。例如:存

21、儲空間,硬件特征,API函數(shù),電源管理和程序的調試與測試等方面。</p><p>  2. 其次,研究理解攝像頭的工作原理。通過對Windows Mobile API中提供的攝像頭接口和Pocket Builder開發(fā)環(huán)境中提供的攝像頭接口這兩大接口的研究,理解攝像頭在智能設備中的工作原理。</p><p>  3. 在理解Windows Mobile系統(tǒng)操作平臺和攝像頭的工作原理后,通過

22、Visual Studio 2008集成開發(fā)環(huán)境對基于Windows Mobile系統(tǒng)操作平臺的攝像頭實現(xiàn)開發(fā)應用。包括如何通過智能設備上的攝像頭獲取圖像信息,如何設置圖像信息的存儲路徑,更改圖像信息的存儲文件名,設置圖像信息的存儲大小,設置圖像信息的質量和濾鏡,最后再在模擬器和真機上調試程序,達到對攝像頭進行仿真和測試的目的。</p><p><b>  1.3 研究現(xiàn)狀</b></

23、p><p>  攝像頭作為一種視頻終端設備,隨著多媒體技術和網絡技術的發(fā)展將在未來的很長時間內得以更廣泛的應用,對攝像頭的應用與開發(fā)就具有很重要的現(xiàn)實意義和研究價值。同時隨著攝像頭技術的提高與應用軟件的不斷更新,攝像頭不再只是用做聊天的工具,其用途越來越多,應用范圍也越來越廣。特別是近年來在各種嵌入式系統(tǒng)中攝像頭的應用也越來越廣泛。</p><p>  廈門大學的董珉在他的《基于Windows

24、 Mobile嵌入式系統(tǒng)的人臉識別技術研究及應用》一文中重點探討了如何在Windows Mobile智能設備上設計和實現(xiàn)人臉識別系統(tǒng)。首先利用Windows Mobile 5 API從設備的攝像頭獲取人臉圖像,再通過人臉檢測算法與人臉圖像數(shù)據庫進行比較,最終實現(xiàn)人臉識別。</p><p>  東南大學的吳瓊在他的《采用USB攝像頭的嵌入式遠程視頻監(jiān)控系統(tǒng)的設計》一文中論述了根據攝像頭在視頻監(jiān)控系統(tǒng)中的應用,利用L

25、inux嵌入式系統(tǒng)開發(fā)技術與Internet技術,根據固定場所使用的特點,提出了一種采用USB攝像頭的嵌入式遠程視頻監(jiān)控系統(tǒng)實現(xiàn)方案,實現(xiàn)對固定場所的遠程視頻監(jiān)控。</p><p>  大連理工大學的王曉飛在他的《基于RTSJ的攝像頭控制系統(tǒng)的研究與應用》一文中從實際的企業(yè)需求出發(fā),在實時模型指導下開發(fā)了基于RTSJ(實時Java規(guī)范)的USB攝像頭控制系統(tǒng)。從攝像頭采集視頻數(shù)據,接收用戶操作指令拍攝視頻,抓取圖

26、片,對攝像頭的各項屬性進行調整等各方面克服了普通控制系統(tǒng)不能滿足實時性要求的缺點。</p><p>  2 Windows Mobile平臺與攝像頭</p><p>  Windows Mobile是微軟公司為移動智能設備設計的操作系統(tǒng)。目前比較普遍的版本是Windows Mobile 6.0,其核心是Windows CE,它是專門為移動智能設備開發(fā)的一個操作系統(tǒng)[4]。本章內容主要介紹了

27、Windows Mobile嵌入式操作系統(tǒng)的結構特點和軟件運行環(huán)境,為本文在Windows Mobile嵌入式操作系統(tǒng)上實現(xiàn)攝像頭的應用開發(fā)做鋪墊。</p><p>  2.1 Windows Mobile操作系統(tǒng)環(huán)境與結構特點</p><p>  Windows Mobile操作系統(tǒng)為工作和生活展開了一種全新的開發(fā)藍圖。這個開放的、可裁剪的、32位的實時嵌入式操作系統(tǒng)成功的將桌面Wind

28、ows平臺延伸到移動硬件設備之上,而它的操作系統(tǒng)在保證程序兼容性的同時,并且支持更廣泛的開發(fā)應用環(huán)境[5]。Windows Mobile的主要特點包括:可裁剪性高,多硬件支持,高度的模塊化,實時性支持比較穩(wěn)健,開發(fā)環(huán)境非常強大,還有就是具有豐富的現(xiàn)成資源[6]。Windows Mobile系統(tǒng)結構如圖2-1所示。</p><p><b>  2.1.1 內核</b></p>&

29、lt;p>  由于Windows Mobile系統(tǒng)是由桌面Windows系統(tǒng)發(fā)展而來的,所以Windows Mobile系統(tǒng)具有許多桌面Windows系統(tǒng)的優(yōu)點:搶占執(zhí)行與保護模式運行機制,多任務和多線程;具備一切基本的系統(tǒng)服務,例如線程處理,進程管理和內存資源管理等[7]。 </p><p>  2.1.2 圖形窗口與事件子系統(tǒng)</p><p>  Windows Mobile構建

30、了GWES模塊,即圖形窗口和事件子系統(tǒng)。Windows Mobile的GWES可以讓用戶使用許多特殊的應用,例如手寫輸入,聲音識別等功能[8]。GWES的結構圖如圖2-2所示。</p><p>  圖2-1 Windows Mobile 系統(tǒng)結構圖</p><p>  圖2-2 GWES 結構圖</p><p>  2.1.3 文件系統(tǒng)</p>&

31、lt;p>  Windows Mobile的文件系統(tǒng)主要是支持信息在RAM中的持久存儲管理。它的文件分配表也可以當做是存儲卡:它能單獨處理存儲卡的每個分區(qū),使多文件支持成為可能。</p><p>  2.2 Windows Mobile程序與桌面Windows程序的差異</p><p>  智能設備的硬件環(huán)境和PC具有很多相似之處,當然他們之間也是有很多不同的地方,具體表現(xiàn)在如下幾個

32、方面。</p><p>  2.2.1 內核差異</p><p>  Windows Mobile是基于嵌入式系統(tǒng)平臺的,它的內核采用動態(tài)鏈接庫(DLL)實現(xiàn),這樣就能使系統(tǒng)的可用內存空間能夠得到最大限度的利用。為了將應用程序的尺寸裁剪的盡量小以適應嵌入式系統(tǒng),它的程序之間可以共享使用可載入式的動態(tài)鏈接庫,以盡可能多的降低駐留在內存上的代碼量[9]。</p><p>

33、;  2.2.2 硬件差異</p><p>  通常Windows Mobile嵌入式系統(tǒng)的內存要比桌面操作系統(tǒng)小很多,而且這些系統(tǒng)一般不可能外接大容量的存儲設備。所以在移植桌面系統(tǒng)時,在保證不影響移植后的程序在嵌入式系統(tǒng)中正常運行的基礎上盡量得將程序的尺寸進行裁剪。</p><p>  Windows Mobile程序通常運行于沒有PC那么強大的硬件環(huán)境上。因此,Windows Mobi

34、le系統(tǒng)上的程序開發(fā),需要通過模擬器加快開發(fā)的進度,但是開發(fā)后的程序也必須在實際的硬件設備上測試,以保證其運行的正常。</p><p>  Windows Mobile系統(tǒng)一般使用電池供電,電源的續(xù)航能力十分有限,所以程序應該盡可能少地消耗電量。為了節(jié)省電量,Windows Mobile智能設備在系統(tǒng)中設置了休眠狀態(tài),即在設備不在使用的時候高耗能的設備會被暫時關閉,盡可能的減少電源的消耗。當系統(tǒng)再次被激活的時候,

35、應用程序就從休眠中恢復。</p><p>  2.2.3 接口函數(shù)差異</p><p>  Windows Mobile的API是Win32 API的一個子集,是精簡其中部分函數(shù)的實現(xiàn)。所以Windows Mobile雖然支持Win32的結構化異常處理,但卻并不支持C++異常處理。但是Windows Mobile的應用程序接口中也加入了一些適用于嵌入式系統(tǒng)的特定功能,例如觸摸屏和攝像頭等。

36、</p><p>  桌面Windows應用不使用仿真器,而Windows Mobile系統(tǒng)的大部分調試與測試工作要在開發(fā)工具提供的仿真環(huán)境中進行,因為Windows Mobile系統(tǒng)API包含用于調試的接口(DebugActive和DebugEvent)可用來建立系統(tǒng)內部調試[10]。</p><p><b>  2.3 攝像頭原理</b></p>&

37、lt;p>  攝像頭是一種視頻輸入設備,被廣泛運用于圖像視頻采集。普通的人也可以彼此通過攝像頭在網絡進行有影像、有聲音的交談和溝通[11]。另外,人們還可以將其用于當前各種流行的圖像信息處理。</p><p>  攝像頭分為數(shù)字攝像頭和模擬攝像頭兩大類。模擬攝像頭可以將設備采集來的模擬信號轉換成數(shù)字信號,然后儲存在計算機里。而數(shù)字攝像頭可以直接采集圖像和視頻信號,然后通過程序接口發(fā)送給計算機[12]。<

38、;/p><p>  攝像頭的工作原理大致為:景物通過鏡頭生成的光學圖像投射到圖像傳感器表面上,然后轉為電信號,經過A/D(模數(shù)轉換)轉換后變?yōu)閿?shù)字圖像信號,再送到數(shù)字信號處理芯片(DSP)中加工處理,再通過USB接口傳輸?shù)诫娔X中處理,通過顯示器就可以看到圖像了。</p><p>  據IT行業(yè)硬件發(fā)展的“摩爾定律”來看,數(shù)字攝像頭也同樣遵循其發(fā)展規(guī)律的,相信在未來幾年內會發(fā)展的很快。從目前市場

39、情況來看,制約攝像頭發(fā)展的因素主要有以下幾個方面的原因: </p><p>  1、攝像頭市場起步較晚,消費者認知度、接受度較低,所以普及率較低,市場容量增大速度不夠快,需要加以一定引導來推動市場消費。</p><p>  2、攝像頭的實際應用不夠廣泛,有一定的局限性,目前還是作為一種消費類產品在銷售,消費者只是把它作為視頻聊天、制作簡單的個人影像集、簡單的監(jiān)視系統(tǒng)等的工具。</p&

40、gt;<p>  3、現(xiàn)在電腦硬件的限制,如電腦顯示卡、顯示器的分辨率和USB接口速度,影響了高像素攝像的真正普及。</p><p>  3 Windows Mobile 設備的攝像頭應用開發(fā)</p><p>  3.1 開發(fā)環(huán)境搭建與配置</p><p>  Visual Studio 是一套完整的開發(fā)工具集,用于生成 ASP.NET Web 應用

41、程序、XML Web Services、桌面應用程序和移動應用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應用程序和 XML Web Services 開發(fā)的關鍵技術。</p>

42、<p>  本軟件以Windows Mobile 6.0為操作系統(tǒng)平臺,以多普達T8588為硬件設備(采用Windows Mobile 6.5 Professional系統(tǒng)),在Visual Studio 2008和Windows Mobile 6.0 Professional SDK的集成開發(fā)環(huán)境中,使用C#語言進行托管代碼的應用開發(fā)。</p><p>  3.2 Windows Mobile平臺上

43、攝像頭的控制與操作</p><p>  微軟推出Windows Mobile 5.0后,對攝像頭應用程序接口進行了重新編寫,使得開發(fā)者為內置攝像頭的智能設備開發(fā)應用軟件變得簡單許多?,F(xiàn)在智能設備上的攝像頭操作方式一般有:使用Windows Mobile 5.0 API中提供的攝像頭接口類;使用Pocket Builder環(huán)境提供的移動設備攝像頭接口[13]。</p><p>  Windo

44、ws Mobile 5.0通過集成的攝像頭應用程序編程接口(API)提供優(yōu)秀的多媒體支持,這些應用程序編程接口使開發(fā)者能夠將攝像頭和圖像信息功能直接嵌入到應用程序中[14]。它還包括大量新增的多媒體API。Windows Mobile中和Camera相關的API如表3-1所示。利用Windows Mobile API控制智能設備攝像頭捕獲圖像或視頻流的流程如圖3-1所示。</p><p>  表3-1 Wind

45、ows Mobile Camera相關API</p><p>  圖3-1 利用Windows Mobile API捕獲圖像或視頻流的流程</p><p>  為了智能設備的開發(fā),Sybase公司專門設計了一套綜合開發(fā)環(huán)境(Pocket Builder),它是移動智能設備PAD(快速開發(fā)環(huán)境)的典型代表[15]。</p><p>  為了可以更方便的對智能設備的攝

46、像頭進行控制和操作,Pocket Builder開發(fā)環(huán)境提供了嵌入式移動設備攝像頭接口Camera對象。目前該對象支持的攝像頭類型如下:General Windows Mobile 5.0,VEO 130S,Hp Photosmart和HTC using IA Camera[16]。</p><p>  3.3 應用軟件的設計與實現(xiàn)</p><p>  在理解Windows Mobile系

47、統(tǒng)操作平臺和攝像頭的工作原理后,通過Visual Studio 2008集成開發(fā)環(huán)境對基于Windows Mobile系統(tǒng)操作平臺的攝像頭實現(xiàn)開發(fā)應用。</p><p>  3.3.1 設置圖像信息的路徑</p><p>  第一步,在模擬界面上設置圖像信息的保存路徑。在路徑選擇控件中選擇將圖像信息的路徑設置為\Temp,那么當由攝像頭獲取的圖像信息將保存在\Temp這個文件夾中。界面如圖

48、3-2~圖3-4所示。</p><p>  在Visual Studio 2008開發(fā)軟件上實現(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 選擇設置路徑操作界面</p><p>  圖3-3 選擇圖片保存路徑</p><p>  圖3-4 設定圖片保存路徑</p><p>  3.3.2 設置圖像信息的文件名<

51、;/p><p>  第二步,設置圖像信息文件名。我們將圖像信息的文件名設置為My Picture。那么,當攝像頭獲取圖像信息后,這個圖像信息將以My Picture的文件名保存在之前設置的路徑\Temp中。如圖3-5和圖3-6所示。</p><p>  實現(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 選擇設置文件名操作界面</p><p>  圖3-6 設置圖片文件名</p><p>  3.3.3 設置圖像信息的大小</p><p>  第三步

55、,設置圖像信息的大小。我們把將要保存的圖像信息的大小設置為200*200的大小。那么,這個由攝像頭獲取的圖像信息將以200*200的大小保存到之前設置的指定的文件夾中。界面如圖3-7和圖3-8所示。</p><p>  實現(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 選擇設置圖片大小操作界面</p><p>  圖3-8 設置圖片大

59、小</p><p>  3.3.4 設置圖像信息的質量</p><p>  第四步,設置由攝像頭獲取的圖像信息的質量。打開質量控件在Default,Low,Normal,High四種質量中選擇某一質量要求。我們將圖像信息的質量設置為Normal。那么,獲取的圖像信息將以Normal的質量要求保存進指定的文件夾中。</p><p>  實現(xiàn)這一功能的設置界面如圖3-9

60、所示。</p><p>  圖3-9 控制圖片質量模塊</p><p>  界面演示如圖3-10和圖3-11所示。</p><p>  圖3-10 選擇設置圖片質量操作界面</p><p>  圖3-11 設置圖片質量</p><p>  3.3.5 設置圖像信息的濾鏡</p><p> 

61、 第五步,設置此圖像信息的濾鏡。濾鏡選擇界面有彩色、黑白和Sepia Tone三個濾鏡可以選擇,我們將這個圖像信息的濾鏡設置為彩色。那么,當我們?yōu)g覽這個圖像信息的時候,我們將看到彩色的圖像信息。實現(xiàn)這一操作的功能模塊是Radio Button,如圖3-12所示。</p><p>  Windows 窗體 RadioButton 控件為用戶提供由兩個或多個互斥選項組成的選項集。當單擊 RadioButton 控件時

62、,其 Checked 屬性設置為 true,并且調用 Click 事件處理程序。當 Checked 屬性的值更改時,將引發(fā) CheckedChanged 事件。如果 AutoCheck 屬性設置為 true(默認值),則當選擇單選按鈕時,將自動清除該組中的所有其他單選按鈕。通常僅當使用驗證代碼確保選定的單選按鈕是允許的選項時,才將該屬性設置為 false??丶蕊@示的文本使用 Text 屬性進行設置,該屬性可以包含訪問鍵快捷方式。訪問鍵

63、允許用戶通過按 Alt 鍵和訪問鍵來“單擊”控件。如果 Appearance 屬性設置為 Button,則 RadioButton 控件的顯示與命令按鈕相似,選中時會顯示為按下狀態(tài)。通過使用 Image 和 ImageList 屬性,單選按鈕還可以顯示圖像。</p><p>  圖3-12 設置圖片濾鏡</p><p>  3.3.6 瀏覽圖像信息</p><p>

64、;  最后,當我們把攝像頭獲取的圖像信息以我們的要求保存后,我們可以在模擬界面上瀏覽這個圖像信息。打開瀏覽界面,我們可以找到我們保存的圖像信息,打開圖像信息文件我們就可以看到我們保存的圖像信息了。如圖3-13、圖3-14和圖3-15所示。</p><p>  圖3-13 選擇瀏覽圖片界面</p><p>  圖3-14 瀏覽圖片</p><p>  圖3-15

65、 瀏覽圖片</p><p><b>  4 結論</b></p><p>  本文主要對基于Windows Mobile的嵌入式系統(tǒng)攝像頭的開發(fā)應用的研究意義,研究方法和具體研究進行了論述。分析基于Windows Mobile的嵌入式系統(tǒng)的軟件開發(fā)環(huán)境的結構特點,對比Windows Mobile嵌入式系統(tǒng)和傳統(tǒng)的桌面Windows系統(tǒng)的差異,結合嵌入式設備應用的特殊軟

66、件運行環(huán)境,增進對Windows Mobile的嵌入式操作系統(tǒng)的理解,掌握在Windows Mobile的嵌入式系統(tǒng)平臺下對攝像頭開發(fā)應用研究與實現(xiàn)的方法。</p><p>  將嵌入式和圖像處理技術的概念結合起來,設計并實現(xiàn)基于Windows Mobile的圖像處理系統(tǒng)。本系統(tǒng)基于Visual Studio 2008開發(fā)實現(xiàn),完成基于Windows Mobile操作系統(tǒng)的圖像處理應用程序的開發(fā)、調試與測試流程,

67、最后通過仿真模擬來實現(xiàn)設置圖像信息的存儲路徑,更改圖像信息的存儲文件名,設置圖像信息的存儲大小,設置圖像信息的質量和濾鏡,最后再在模擬器上瀏覽圖片的具體操作。</p><p><b>  參考文獻</b></p><p>  [1]唐磊.基于S3C2440 ARM Linux圖像采集系統(tǒng)的研究[D].武漢科技大學:控制理論與控制工程.2008.</p>

68、<p>  [2]阮秋琦.數(shù)字圖像處理學[M].北京:電子工業(yè)出版社,2001.</p><p>  [3]文軍,何為,譙小艷等.基于嵌入式系統(tǒng)的輸電線舞動在線監(jiān)測系統(tǒng)[J].電工電能新技術,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平臺木馬關鍵技術的研究與實現(xiàn)[D].中山大學:軟件工程.2008.</p><p>  [6]傅曦,陳黎,石衛(wèi)華等.WindowsCE嵌入式開發(fā)入門-基于Xscale架構[M].北</p><p>

70、  京:人民郵電出版社,2006.</p><p>  [7]嵌入式研究網[EB/OL].http://www.cnemb.com</p><p>  [8]胡虛懷,鄭若忠.WindowsCE的結構與特征分析[J].電腦技術信息,2000,5 (17):4-6.</p><p>  [9]張曉峰.基于Windows Mobile嵌入式系統(tǒng)的圖像處理研究及其應用[D]

71、.西南交通大學:電氣系統(tǒng)控制與信息技術.2010.</p><p>  [10]傅曦,齊宇,徐?。甒indows Mobile手機應用開發(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攝像頭的嵌入式遠程視頻監(jiān)控系統(tǒng)的設計[D].東南大學:</p><p>  醫(yī)學電子學.2009.</p><p>  [13]黃睿邦,湯榮江,李文亮.Linux下基于V

73、ideo4Linux的USB攝像頭視頻采集實現(xiàn)[J].現(xiàn)代計算機(專業(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)的人臉識別技術研究及應用[D].廈門:廈門大學,軟件工程.2008.</p><p>  附錄 應用程序源代碼</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("圖片已經保存到:\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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論