圖像融合畢業(yè)論文_第1頁
已閱讀1頁,還剩44頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢 業(yè) 論 文</b></p><p><b>  題目:圖像融合</b></p><p>  —VC環(huán)境下實(shí)現(xiàn)圖像融合</p><p>  姓  名: </p><p>  學(xué)  號(hào): </p

2、><p>  系 別: 電氣工程與自動(dòng)化系</p><p>  專 業(yè): 計(jì)算機(jī)控制技術(shù) </p><p>  指 導(dǎo) 教 師: </p><p>  聯(lián) 系 教 師: </p><p>  2012 年 5 月 17

3、日</p><p><b>  圖像融合</b></p><p><b>  摘要</b></p><p>  近年來,圖像融合已成為圖像理解和計(jì)算機(jī)視覺領(lǐng)域中一項(xiàng)重要而有用的新技術(shù)。融合圖像更符合人和機(jī)器的視覺特性,更有利于諸如目標(biāo)識(shí)別、特性提取等進(jìn)一步的圖像處理。圖像融合已成為人類社會(huì)的很重要的一項(xiàng)技術(shù)。 本文

4、將介紹圖像融合技術(shù)研究的背景,描述了圖像融合的基本概念、層次、應(yīng)用及國內(nèi)外研究動(dòng)態(tài)。圖像預(yù)處理、創(chuàng)建融合圖像和對(duì)融合圖像進(jìn)行質(zhì)量評(píng)價(jià)是這次研究的主要內(nèi)容。圖像預(yù)處理包括圖像的復(fù)原和圖像的變換,通過預(yù)處理提高圖片的融合質(zhì)量。創(chuàng)建融合圖像建融合圖像是對(duì)至少兩幅源圖像,在空域或頻域根據(jù)一定的規(guī)則加以組合,創(chuàng)建一個(gè)全新的圖像;最后就是對(duì)融合圖像的質(zhì)量進(jìn)行評(píng)價(jià)。</p><p>  圖象融合是指將自不同類型傳感器獲取的同一

5、地區(qū)的各圖像數(shù)據(jù)進(jìn)行空間配準(zhǔn),然后采用一定的算法將配準(zhǔn)后的各圖像數(shù)據(jù)中所含的顯著信息或互補(bǔ)信息有機(jī)地結(jié)合起來,產(chǎn)生新的圖像數(shù)據(jù),并對(duì)新數(shù)據(jù)進(jìn)行解譯。融合后圖像對(duì)場景的描述比任何單一源圖像都更全面、更精確。融合圖像更符合人和機(jī)器的視覺特性,更有利于諸如目標(biāo)識(shí)別、特性提取等進(jìn)一步的圖像處理。</p><p>  關(guān)鍵詞:C++,鏈接庫,圖像處理,圖像的配準(zhǔn),圖像融合</p><p>  Ima

6、ge fusion</p><p><b>  ABSTRACT</b></p><p>  In recent years, image fusion has become the image understanding and computer vision fields is an important and useful technique. Fusion i

7、mages are more suitable for human and machine vision, more conducive to such as target recognition, feature extraction, further image processing. Image fusion has become human society one of the important technology.

8、 </p><p>  This paper introduces the image fusion technology research background, describes the basic concept of image fusion, the application level, and the domestic and international research tren

9、ds. Image preprocessing, creating image fusion and quality evaluation of fused image is the main content of the research. Image processing including image restoration and image transform, through pretreatment improves im

10、age fusion quality. Create the fusion image fusion image is built on at least two source imag</p><p>  Image fusion refers to the different types of sensors to obtain from the same area of the image data to

11、spatial registration, and then using a certain algorithm will be after the registration of the image data contained in the significant or the complementary information organically, generating a new image data, and to new

12、 data interpretation. After the fusion image description of the scene than any of the individual source images are more comprehensive, more accurate. Fusion images are more sui</p><p>  Key Words: C++ libra

13、ry,Image Processing ,Image registration,Image Fusion</p><p><b>  目 錄</b></p><p><b>  前 言1</b></p><p>  第1章 面向?qū)ο蠹夹g(shù)與MFC概述2</p><p>  1.1 面向?qū)ο蠹夹g(shù)2

14、</p><p>  1.2 MFC概述2</p><p>  第2章Visual C++的簡介與應(yīng)用 4</p><p>  2.1 Visual C++發(fā)展4</p><p>  2.1.1 Visual C++簡介4</p><p>  2.1.2Visual C++特點(diǎn)5</p><

15、;p>  第3章 圖像融合基礎(chǔ)6</p><p>  3.1 位圖和調(diào)色板的概念6</p><p>  3.2 bmp文件格式6</p><p>  3.3 bmp 文件的讀取6</p><p>  第4章 VC環(huán)境下的圖像融合技術(shù)7</p><p>  4.1 融合圖像原理與條件7</p>

16、;<p>  4.1.1 融合圖像原理7</p><p>  4.1.2 融合圖像條件7</p><p>  4.2 融合圖像技術(shù)概括7</p><p>  4.2.1 融合總流程..........................................................................8</p>

17、;<p>  4.2.2 圖像融合分層</p><p>  4.2.3 圖像融合算法</p><p>  4.3VC環(huán)境下融合的C++實(shí)現(xiàn)......................... 25</p><p>  4.3.1 融合的程序方案設(shè)計(jì)........................ 26</p><p>  4.3.

18、2 VC環(huán)境下融合的程序的框架.................. 28</p><p>  4.3.3 VC環(huán)境下融合的程序源代碼..</p><p>  第5章 圖像融合的現(xiàn)狀與展望8</p><p>  5.1圖像融合的現(xiàn)狀8</p><p>  5.2 圖像融合的展望8</p><p><b>

19、  結(jié) 論9</b></p><p><b>  謝 辭10</b></p><p><b>  參考文獻(xiàn)11</b></p><p><b>  附 錄13</b></p><p><b>  前言</b></p>&l

20、t;p>  圖像融合是數(shù)據(jù)融合一個(gè)非常重要的分支,是20世紀(jì)70年代后期提出的概念,是綜合了傳感器、圖像處理、信號(hào)處理、計(jì)算機(jī)和人工智能的現(xiàn)代高新技術(shù)。圖像融合把工作于不同波長范圍、具有不同成像機(jī)理的圖像傳感器對(duì)同一個(gè)場景的多個(gè)成像信息融合成一個(gè)新圖像,從而使融合的圖像可信度更高,模糊較少,可理解性更好,更適合人的視覺及計(jì)算機(jī)檢測、分類、識(shí)別、理解等處理。</p><p>  圖像融合的處理通??稍谝韵氯齻€(gè)

21、不同層次上進(jìn)行:像素級(jí)、特征級(jí)、決策級(jí)。像素級(jí)圖像融合主要是針對(duì)初始圖像數(shù)據(jù)進(jìn)行的,其目的主要是圖像增強(qiáng)、圖像分割和圖像分類,從而為人工判讀圖像或進(jìn)一步的特征級(jí)融合提供更佳的輸入信息;特征級(jí)圖像融合是指從各個(gè)傳感器圖像中提取特征信息,并進(jìn)行綜合分析和處理的過程,提取的特征信息是像素信息的充分表示量或充分統(tǒng)計(jì)量,典型的特征信息有邊緣、形狀、輪廓、角、紋理、相似亮度區(qū)域等;決策級(jí)圖像融合是對(duì)來自多幅圖像的信息進(jìn)行邏輯推理或統(tǒng)計(jì)推理的過程。&

22、lt;/p><p>  國內(nèi)外在圖像融合的不同層次上開展了大量的模型和算法的研究,取得了很多寶貴的研究成果,涌現(xiàn)出大量文獻(xiàn),但由于系統(tǒng)介紹圖像融合理論、方法和應(yīng)用的書籍非常少,使很多剛剛踏入這一研究領(lǐng)域的初學(xué)者感到學(xué)習(xí)起來相當(dāng)困難,這也不利于圖像融合研究和應(yīng)用的進(jìn)一步普及和深人發(fā)展。</p><p>  第1章 面向?qū)ο蠹夹g(shù)與MFC概述</p><p>  1.1 面

23、向?qū)ο蠹夹g(shù)</p><p>  面向?qū)ο蠹夹g(shù)是一種以對(duì)象為基礎(chǔ),以事件或消息來驅(qū)動(dòng)對(duì)象執(zhí)行處理的程序設(shè)計(jì)技術(shù)。它以數(shù)據(jù)為中心而不是以功能為中心來描述系統(tǒng),數(shù)據(jù)相對(duì)于功能而言具有更強(qiáng)的穩(wěn)定性。它將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作封裝在一起,作為一個(gè)整體來處理,采用數(shù)據(jù)抽象和信息隱蔽技術(shù),將這個(gè)整體抽象成一種新的數(shù)據(jù)類型——類,并且考慮不同類之間的聯(lián)系和類的重用性。類的集成度越高,就越適合大型應(yīng)用程序的開發(fā)。另一方面,面向?qū)ο蟪绦?/p>

24、的控制流程由運(yùn)行時(shí)各種事件的實(shí)際發(fā)生來觸發(fā),而不再由預(yù)定順序來決定,更符合實(shí)際。事件驅(qū)動(dòng)程序的執(zhí)行圍繞消息的產(chǎn)生與處理,靠消息循環(huán)機(jī)制來實(shí)現(xiàn)。在實(shí)際編程時(shí)可以采用搭積木的方式來組織程序,站在“巨人”的肩上實(shí)現(xiàn)自己的目標(biāo)。面向?qū)ο蟪绦虻脑O(shè)計(jì)方法使得程序結(jié)構(gòu)清晰、簡單,提高了代碼的重用性,有效減少了程序的維護(hù)量,提高了軟件的開發(fā)效率。</p><p>  面向?qū)ο蠹夹g(shù)強(qiáng)調(diào)在軟件開發(fā)過程中面向客觀世界或問題域中的事物,

25、采用人類在認(rèn)識(shí)客觀世界的過程中普遍運(yùn)用的思維方法,直觀、自然地描述客觀世界中的有關(guān)事物。面向?qū)ο蠹夹g(shù)的基本特征主要有抽象性、封裝性、繼承性和多態(tài)性。</p><p>  在結(jié)構(gòu)上,面向?qū)ο蟪绦蚺c面向過程程序有很大不同。面向?qū)ο蟪绦蛴深惖亩x和類的使用兩部分組成:在主程序中定義各對(duì)象并規(guī)定他們之間傳替消息的規(guī)律,程序中的一切操作都通過向?qū)ο蟀l(fā)送消息來實(shí)現(xiàn);對(duì)象接到消息后,啟動(dòng)消息處理函數(shù)完成相應(yīng)的操作。 面向?qū)ο蟪?/p>

26、序設(shè)計(jì)(Object Oriented Programming,OOP)方法出現(xiàn)之前,程序員用面向過程的方法開發(fā)程序。面向過程的方法把密切相關(guān)、相互依賴的數(shù)據(jù)和對(duì)數(shù)據(jù)的操作相互分離這種實(shí)質(zhì)上的依賴與形式上的分離使得大型程序不但難以編寫,而且難以調(diào)試和修改。</p><p><b>  1.2 MFC概述</b></p><p>  MFC (Microsoft Fou

27、ndation Class Library)中的各種類結(jié)合起來構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來建立Windows下的應(yīng)用程序,這是一種相對(duì)SDK來說更為簡單的方法。因?yàn)榭傮w上,MFC框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓。Microsoft Visual C++提供了相應(yīng)的工具來完成這個(gè)工作:AppWizard可以用來生成初

28、步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計(jì)用戶接口;ClassWizard用來協(xié)助添加代碼到框架文件;最后,編譯,則通過類庫實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。</p><p>  MFC抽象出眾多類的共同特性,設(shè)計(jì)出一些基類作為實(shí)現(xiàn)其他類的基礎(chǔ)。這些類中,最重要的類是CObject和CCmdTarget。CObject是MFC的根類,絕大多數(shù)MFC類是其派生的,包括CCmdTarget。CObject 實(shí)

29、現(xiàn)了一些重要的特性,包括動(dòng)態(tài)類信息、動(dòng)態(tài)創(chuàng)建、對(duì)象序列化、對(duì)程序調(diào)試的支持,等等。所有從CObject派生的類都將具備或者可以具備CObject所擁有的特性。CCmdTarget通過封裝一些屬性和方法,提供了消息處理的架構(gòu)。MFC中,任何可以處理消息的類都從CCmdTarget派生。針對(duì)每種不同的對(duì)象,MFC都設(shè)計(jì)了一組類對(duì)這些對(duì)象進(jìn)行封裝,每一組類都有一個(gè)基類,從基類派生出眾多更具體的類。</p><p>  

30、MFC以“C++”為基礎(chǔ),自然支持虛擬函數(shù)和動(dòng)態(tài)約束。但是作為一個(gè)編程框架,有一個(gè)問題必須解決:如果僅僅通過虛擬函數(shù)來支持動(dòng)態(tài)約束,必然導(dǎo)致虛擬函數(shù)表過于臃腫,消耗內(nèi)存,效率低下。于是,MFC建立了消息映射機(jī)制,以一種富有效率、便于使用的手段解決消息處理函數(shù)的動(dòng)態(tài)約束問題。這樣,通過虛擬函數(shù)和消息映射,MFC類提供了豐富的編程接口。程序員繼承基類的同時(shí),把自己實(shí)現(xiàn)的虛擬函數(shù)和消息處理函數(shù)嵌入MFC的編程框架。MFC編程框架將在適當(dāng)?shù)臅r(shí)候

31、、適當(dāng)?shù)牡胤絹碚{(diào)用程序的代碼。</p><p>  Visual C++的簡介與應(yīng)用</p><p>  2.1Visual C++發(fā)展</p><p>  2.1.1Visual C++的簡介</p><p>  VC++是微軟公司開發(fā)的一個(gè)IDE(集成開發(fā)環(huán)境),換句話說,就是使用c++的一個(gè)開發(fā)平臺(tái).vc++是Windows平臺(tái)上的C+

32、+編程環(huán)境,學(xué)習(xí)VC要了解很多Windows平臺(tái)的特性并且還要掌握MFC、ATL、COM等的知識(shí),難度比較大。VC作為一個(gè)主流的開發(fā)平臺(tái)一直深受編程愛好者的喜愛,但是很多人卻對(duì)它的入門感到難于上青天,究其原因主要是大家對(duì)他錯(cuò)誤的認(rèn)識(shí)造成的,嚴(yán)格的來說 VC++不是門語言,雖然它和C++之間有密切的關(guān)系,如果形象點(diǎn)比喻的話,可以C++看作為一種”工業(yè)標(biāo)準(zhǔn)”,而VC++則是某種操作系統(tǒng)平臺(tái)下的”廠商標(biāo)準(zhǔn)”,而”廠商標(biāo)準(zhǔn)”是在遵循”工業(yè)標(biāo)準(zhǔn)”

33、的前提下擴(kuò)展而來的。從最早期的1.0版本,發(fā)展到最新的6.0版本,Visual C++已經(jīng)有了很大的變化,在界面、功能、庫支持方面都有許多的增強(qiáng)。</p><p>  Visual C++集成開發(fā)環(huán)境(IDE) 集成開發(fā)環(huán)境(IDE)是一個(gè)將程序編輯器、編譯器、調(diào)試工具和其他建立應(yīng)用程序的工具集成在一起的用于開發(fā)應(yīng)用程序的軟件系統(tǒng)。Visual C++軟件包中的Developer Studio就是一個(gè)集

34、成開發(fā)環(huán)境,它集成了各種開發(fā)工具和VC編譯器。程序員可以在不離開該環(huán)境的情況下編輯、編譯、調(diào)試和運(yùn)行一個(gè)應(yīng)用程序。IDE中 還提供大量在線幫助信息協(xié)助程序員做好開發(fā)工作。Developer Studio中除了程序編輯器、資源編輯器、編譯器、調(diào)試器外,還有各種工具和向?qū)Вㄈ鏏ppWizard和ClassWizard),以及MFC類庫, 這些都可以幫助程序員快速而正確地開發(fā)出應(yīng)用程序。</p><p>  一個(gè)通過一

35、步步的幫助引導(dǎo)你工作的工具。Developer Studio中包含三個(gè)向?qū)В脕韼椭绦騿T開發(fā)簡單的Windows程序,它們是:AppWizard:用來創(chuàng)建一個(gè)Windows程序的基本框架結(jié)構(gòu)。AppWizard向?qū)?huì)一步步向程序員提出問題,詢問他所創(chuàng)建的項(xiàng)目的特征,然后 AppWizard會(huì)根據(jù)這些特征自動(dòng)生成一個(gè)可以執(zhí)行的程序框架,程序員然后可以在這個(gè)框架下進(jìn)一步填充內(nèi)容。AppWizard支持三類程序:基于視 圖/文檔結(jié)構(gòu)的單文檔

36、應(yīng)用、基于視圖/文檔結(jié)構(gòu)的多文檔應(yīng)用程序和基于對(duì)話框的應(yīng)用程序。也可以利用AppWizard生成最簡單的控制臺(tái)應(yīng)用程序(類似 于DOS下用字符輸入輸出的程序)。ClassWizard:用來定義AppWizard所創(chuàng)建的程序中的類??梢岳肅lassWizard在項(xiàng)目中增加類、為類增加處理消息的函數(shù)等。ClassWizard也可以管理包含在對(duì)話框中的控件,它可以將MFC對(duì)象或者類的成員變量與對(duì)話框中的控件聯(lián)系起來。ActiveX Co

37、ntrol Wizard:用于創(chuàng)建一個(gè)ActiveX控件的基本框架結(jié)構(gòu)。ActiveX控件是用戶自定義的控件,</p><p>  MFC庫 庫(library)是可以重復(fù)使用的源代碼和目標(biāo)代碼的集合。MFC(Microsoft Fundamental Casses)是Visual C++開發(fā)環(huán)境所帶的類庫,在該類庫中提供了大量的類,可以幫助開發(fā)人員快速建立應(yīng)用程序。這些類可以提供程序框架、進(jìn)行文件和數(shù)據(jù)

38、庫操作、建立網(wǎng)絡(luò)連 接、進(jìn)行繪圖和打印等各種通用的應(yīng)用程序操作。使用MFC庫開發(fā)應(yīng)用程序可以減少很多工作量。</p><p>  2.1.2 Visual C++的特點(diǎn)</p><p>  Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選

39、工具。</p><p>  Visual C++6.0不僅是一個(gè)C++編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過一個(gè)名為Developer Studio的組件集成為

40、和諧的開發(fā)環(huán)境?! isual C++它大概可以分成三個(gè)主要的部分:  1. Developer Studio,這是一個(gè)集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的,再加上它的標(biāo)題赫然寫著“Microsoft Visual C++”,所以很多人理所當(dāng)然的認(rèn)為,那就是Visual C++了。其實(shí)不然,雖然Developer Studio提供了一個(gè)很好的編輯器和很多Wizard,但實(shí)際上它沒有任何編譯和鏈接程序的功能,真正完成

41、這些工作的幕后英雄后面會(huì)介紹。我們也知道,Developer Studio并不是專門用于VC的,它也同樣用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟</p><p>  2.2 Visual C++的應(yīng)用 </p><p>  第3章 圖像融合基礎(chǔ)</p><p>  3.1 位圖和調(diào)色板的概念</p><p> 

42、 如今Windows(3.x以及95,98,NT)系列已經(jīng)成為絕大多數(shù)用戶使用的操作系統(tǒng),它比DOS成功的一個(gè)重要因素是它可視化的漂亮界面。那么Windows是如何顯示圖象的呢?這就要談到位圖(bitmap普通的顯示器屏幕是由許許多多點(diǎn)構(gòu)成的,我們稱之為象素。顯示時(shí)采用掃描的方法:電子槍每次從左到右掃描一行,為每個(gè)象素 著色,然后從上到下這樣掃描若干行,就掃過了一屏。為了防止閃爍,每秒要重復(fù)上述過程幾十次。例如我們常說的屏幕分辨率為6

43、40×480,刷新頻率為 70Hz,意思是說每行要掃描640個(gè)象素,一共有480行,每秒重復(fù)掃描屏幕70次。 </p><p>  我們稱這種顯示器為位映象設(shè)備。所謂位映象,就是指一個(gè)二維的象素矩陣,而位圖就是采用位映象方法顯示和存儲(chǔ)的圖象。</p><p>  有一個(gè)長寬各為200個(gè)象素,顏色數(shù)為16色的彩色圖,每一個(gè)象素都用R、G、B三個(gè)分量表示。因?yàn)槊總€(gè)分量有256個(gè)級(jí)別,

44、要用8位(bit),即一個(gè) 字節(jié)(byte)來表示,所以每個(gè)象素需要用3個(gè)字節(jié)。整個(gè)圖象要用200×200×3,約120k字節(jié),可不是一個(gè)小數(shù)目呀!如果我們用下面的方法,就 能省的多。因?yàn)槭且粋€(gè)16色圖,也就是說這幅圖中最多只有16種顏色,我們可以用一個(gè)表:表中的每一行記錄一種顏色的R、G、B值。這樣當(dāng)我們表示一個(gè)象素的顏色 時(shí),只需要指出該顏色是在第幾行,即該顏色在表中的索引值。舉個(gè)例子,如果表的第0行為255,

45、0,0(紅色),那么當(dāng)某個(gè)象素為紅色時(shí),只需要標(biāo)明0即 可。讓我們?cè)賮碛?jì)算一下:16種狀態(tài)可以用4位(bit)表示,所以一個(gè)象素要用半個(gè)字節(jié)。整個(gè)圖象要用200×200×0.5,約20k字節(jié),再加上表占用的字節(jié)為3×16=48字節(jié).整個(gè)占用的字節(jié)數(shù)約為前面的1/6,省很多吧?這張R、G、B的表,就是我們常說的調(diào)色板(Palette)。既然用R,G,B的量化值就可以直接記錄一張位圖的所有像素,那我們需要調(diào)

46、色板干什么呢?首先,我們可以計(jì)算完全利用(R,G,B</p><p>  3.2 Bmp文件格式</p><p>  BMP(全稱Bitmap)是Window操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,可以分成兩類:設(shè)備相關(guān)位圖(DDB)和設(shè)備無關(guān)位圖(DIB),使用非常廣。它采用位映射存儲(chǔ)格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP文件所占用的空間很大。BMP文件的圖像深度可選lb

47、it、4bit、8bit及24bit。BMP文件存儲(chǔ)數(shù)據(jù)時(shí),圖像的掃描方式是按從左到右、從下到上的順序。 由于BMP文件格式是Windows環(huán)境中交換與圖有關(guān)的數(shù)據(jù)的一種標(biāo)準(zhǔn),因此在Windows環(huán)境中運(yùn)行的圖形圖像軟件都支持BMP圖像格式。</p><p>  BMP文件由文件頭、位圖信息頭、顏色信息和圖形數(shù)據(jù)四部分組成。文件頭主要包含文件的大小、文件類型、圖像數(shù)據(jù)偏離文件頭的長度等信息;位圖信息頭 包含圖象的

48、尺寸信息、圖像用幾個(gè)比特?cái)?shù)值來表示一個(gè)像素、圖像是否壓縮、圖像所用的顏色數(shù)等信息。顏色信息包含圖像所用到的顏色表,顯示圖像時(shí)需用到這個(gè) 顏色表來生成調(diào)色板,但如果圖像為真彩色,既圖像的每個(gè)像素用24個(gè)比特來表示,文件中就沒有這一塊信息,也就不需要操作調(diào)色板。文件中的數(shù)據(jù)塊表示圖像 的相應(yīng)的像素值,需要注意的是:圖像的像素值在文件中的存放順序?yàn)閺淖蟮接?,從下到?,也就是說,在BMP文件中首先存放的是圖像的最后一行像素,最后才 存儲(chǔ)圖像

49、的第一行像素,但對(duì)與同一行的像素,則是按照先左邊后右邊的的順序存儲(chǔ)的;文件存儲(chǔ)圖像的每一行像素值時(shí),如 果存儲(chǔ)該行像素值所占的字節(jié)數(shù)為4的倍數(shù),則正常存儲(chǔ),否則,需要在后端補(bǔ)0,湊足4的倍數(shù)。</p><p>  3.3 bmp文件的讀取</p><p>  第4章VC環(huán)境下的圖像融合技術(shù)</p><p>  4.1 融合圖像原理與條件</p><

50、;p>  4.1.1 融合圖像原理</p><p>  圖像融合是一門綜合了傳感器、圖像處理、信號(hào)處理、顯示、計(jì)算機(jī)和人工智能等技術(shù)的現(xiàn)代高新技術(shù)。通常地,圖像融合是把對(duì)同一目標(biāo)或場景用不同傳感器所獲得的圖像或用不同方式獲得的圖像融合成一幅圖像,在這幅圖像中能反應(yīng)多重原始圖像中的信息,能對(duì)場景描述得比任何單一源圖像都更精確、更全面。</p><p>  多傳感器數(shù)據(jù)融合,是一種對(duì)多源

51、信息進(jìn)行綜合處理的一項(xiàng)新技術(shù),多傳感器數(shù)據(jù)融合亦稱多傳感器信息融合。所謂多傳感器數(shù)據(jù)融合是指對(duì)來自多個(gè)傳感器的信息進(jìn)行多級(jí)別、多方面、多層次的處理與綜合,從而獲得更豐富、更精確、更可靠的有用信息。數(shù)據(jù)融合的確切定義是:數(shù)據(jù)融合是一種多層次的、多方面的處理過程,這個(gè)過程是對(duì)多源數(shù)據(jù)進(jìn)行檢測、結(jié)合、相關(guān)、估計(jì)和組合以達(dá)到精確的狀態(tài)估計(jì)和身份估計(jì),以及完整、及時(shí)的態(tài)勢評(píng)估和威脅估計(jì)。</p><p>  被融合圖像的信

52、息構(gòu)成如圖1所示,這里以兩幅圖像為例:</p><p><b>  圖 1</b></p><p>  隨著科學(xué)的發(fā)展和技術(shù)的進(jìn)步,采集圖像數(shù)據(jù)的手段不斷完善,出現(xiàn)了各種新的圖像獲取技術(shù)。但是,目前作為信息輸出源的各種傳感器的性能還不能完全滿足人們的要求,這一方面是由于受到獲取技術(shù)本身發(fā)展水平的限制;另一方面是因?yàn)槿魏我环N獲取技術(shù)都有一定的精度和適用范圍,且其信號(hào)都要

53、受到周圍環(huán)境的干擾。也就是說,一幅圖像只能提供部分的、不完全精確的信息,因此不能排除對(duì)未知或部分未知環(huán)境描述的多義性。這就產(chǎn)生了如何從多幅圖像中恢復(fù)原始圖像的問題,即圖像融合技術(shù)問題。它的優(yōu)越性非常明顯,其作用類似于人腦在視覺產(chǎn)生過程中的作用,具有時(shí)空覆蓋寬、目標(biāo)分辨率高、重構(gòu)性好、冗余性、互補(bǔ)性等突出的優(yōu)越性。</p><p>  4.1.2融合圖像的條件</p><p><b&g

54、t;  圖像增強(qiáng)</b></p><p>  增強(qiáng)圖象中的有用信息,它可以是一個(gè)失真的過程,其目的是要改善圖像的視覺效果,針對(duì)給定圖像的應(yīng)用場合,有目的地強(qiáng)調(diào)圖像的整體或局部特性,將原來不清晰的圖像變得清晰或強(qiáng)調(diào)某些感興趣的特征,擴(kuò)大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質(zhì)量、豐富信息量,加強(qiáng)圖像判讀和識(shí)別效果,滿足某些特殊分析的需要。 </p><p>

55、;  圖像增強(qiáng)可分成兩大類:頻率域法和空間域法。前者把圖像看成一種二維信號(hào),對(duì)其進(jìn)行基于二維傅里葉變換的信號(hào)增強(qiáng)。采用低通濾波(即只讓低頻信號(hào)通過)法,可去掉圖中的噪聲;采用高通濾波法,則可增強(qiáng)邊緣等高頻信號(hào),使模糊的圖片變得清晰。具有代表性的空間域算法有局部求平均值法和中值濾波(取局部鄰域中的中間像素值)法等,它們可用于去除或減弱噪聲。</p><p><b>  圖像平滑</b><

56、/p><p>  圖像平滑是指用于突出圖像的寬大區(qū)域、低頻成分、主干部分或抑制圖像噪聲和干擾高頻成分,使圖像亮度平緩漸變,減小突變梯度,改善圖像質(zhì)量的圖像處理方法。   圖像平滑的方法包括:插值方法,線性平滑方法,卷積法等等。這樣的處理方法根據(jù)圖像噪聲的不同進(jìn)行平滑,比如椒鹽噪聲,就采用線性平滑方法</p><p><b>  圖像配準(zhǔn)的概念</b></p>

57、<p>  圖像配準(zhǔn)(Image registration)就是將不同時(shí)間、不同傳感器(成像設(shè)備)或不同條件下(天候、照度、攝像位置和角度等)獲取的兩幅或多幅圖像進(jìn)行匹配、疊加的過程,它已經(jīng)被廣泛地應(yīng)用于遙感數(shù)據(jù)分析、計(jì)算機(jī)視覺、圖像處理等領(lǐng)域。</p><p>  圖像配準(zhǔn)的方式可以概括為相對(duì)配準(zhǔn)和絕對(duì)配準(zhǔn)兩種:相對(duì)配準(zhǔn)是指選擇多圖像中的一張圖像作為參考圖像,將其它的相關(guān)圖像與之配準(zhǔn),其坐標(biāo)系統(tǒng)是任

58、意的。絕對(duì)配準(zhǔn)是指先定義一個(gè)控制網(wǎng)格,所有的圖像相對(duì)于這個(gè)網(wǎng)格來進(jìn)行配準(zhǔn),也就是分別完成各分量圖像的幾何校正來實(shí)現(xiàn)坐標(biāo)系的統(tǒng)一。本文主要研究大幅面多圖像的相對(duì)配準(zhǔn),因此如何確定多圖像之間的配準(zhǔn)函數(shù)映射關(guān)系是圖像配準(zhǔn)的關(guān)鍵。通常通過一個(gè)適當(dāng)?shù)亩囗?xiàng)式來擬合兩圖像之間的平移、旋轉(zhuǎn)和仿射變換,由此將圖像配準(zhǔn)函數(shù)映射關(guān)系轉(zhuǎn)化為如何確定多項(xiàng)式的系數(shù),最終轉(zhuǎn)化為如何確定配準(zhǔn)控制點(diǎn)(RCP)</p><p>  4.1.3融合圖

59、像目的</p><p>  圖像融合是一種綜合多個(gè)源圖像信息的先進(jìn)圖像處理技術(shù),其目的是集成多個(gè)源圖像中的冗余信息和互補(bǔ)信息,以強(qiáng)化圖像中的信息、增加圖像理解的可靠性。圖像融合的目的包括以下幾個(gè)方面:</p><p><b>  1)降低圖像噪聲</b></p><p>  一般而言,從傳感器得到的圖像都是有噪圖像,而后續(xù)的圖像處理一般要求噪聲

60、在一定范圍內(nèi),因此,可以采用融合的方法來降低噪聲,提高信噪比。對(duì)于這種方法一般采用峰值信噪比作為評(píng)價(jià)標(biāo)準(zhǔn)。</p><p><b>  2)提高分辨率</b></p><p>  提高分辨率也是圖像融合的一個(gè)重要目的,有時(shí)從衛(wèi)星得到的紅外圖像的分辨率不高,這就要求用其它傳感器得到圖像(如光學(xué)圖像,合成孔徑圖像)與紅外圖像進(jìn)行融合來提高分辨率。對(duì)于這種方法的融合效果評(píng)價(jià)

61、可采用圖像的標(biāo)準(zhǔn)差作為評(píng)價(jià)標(biāo)準(zhǔn)。</p><p><b>  3)提高信息量</b></p><p>  在傳輸圖像,圖像特征提取等方面需要提高信圖像的信息量。圖像融合是提高信息量的一個(gè)重要手段。對(duì)于融合圖像的信息量是否提高,我們可采用嫡、交叉墑、互信息量作為評(píng)價(jià)標(biāo)準(zhǔn)的。</p><p><b>  4)提高清晰度</b>

62、</p><p>  在圖像處理中,往往需要在保持原有信息不丟失的情況下,提高圖像的質(zhì)量、增強(qiáng)圖像的細(xì)節(jié)信息和紋理特征、保持邊緣細(xì)節(jié)及能量,這對(duì)于一般的圖像增強(qiáng)很難辦到,因此需要采用圖像融合的辦法,這時(shí),對(duì)融合效果的評(píng)價(jià)可采用基于梯度和小波能量的評(píng)價(jià)方法。</p><p>  4.2 融合圖像技術(shù)概括</p><p>  4.2.1 融合總流程.</p>

63、<p>  4.2.2 圖像融合分層</p><p>  圖像的融合過程可以發(fā)生在信息描述的不同層。通常將圖像融合分為像素級(jí)、特征級(jí)和決策級(jí)。一但是通常在一個(gè)融合過程中這三層的融合是可以同時(shí)發(fā)生的。</p><p>  融合過程的輸入信息可以是三層中的任何一種,經(jīng)過一個(gè)混和方法,輸出也可以</p><p>  是三層中的任何一種。</p>

64、<p>  素級(jí)圖像融合方法是最重要、最基本的圖像融合方法,其信息損失最小,分類性能最好,但是融合方法也是最難的。</p><p>  像素級(jí)融合是將各幅源圖像或者源圖像的變換圖像中的對(duì)應(yīng)像素進(jìn)行融合,從而獲得一幅新的圖像,圖2.2示意了像素級(jí)的圖像融合過程。參加融合的源圖像</p><p>  可能來自多個(gè)不同類型的圖像傳感器,也可能來自單一圖像傳感器。單一圖像</p&

65、gt;<p>  感器提供的各個(gè)圖像可能來源于不同觀測時(shí)間或空間,也可能來自同一時(shí)間、</p><p>  間不同光譜特性的圖像(如多光譜照相機(jī)獲得的圖像)。像素級(jí)圖像融合是為了</p><p>  充、豐富和強(qiáng)化融合圖像中的有用信息,使融合圖像更符合人或者機(jī)器的視覺</p><p>  征,更有利于對(duì)圖像的進(jìn)一步分析和處理(如圖像分割,特性提取,目標(biāo)

66、檢測</p><p>  目標(biāo)識(shí)別等),是特征級(jí)和決策級(jí)融合的基礎(chǔ)。與每個(gè)源圖像相比,通過像素級(jí)圖像融合后的圖像包含的信息更豐富、精確、可靠、全面。像素級(jí)圖像融合可能提供最優(yōu)決策和識(shí)別性能。但是像素級(jí)的圖像融合也具有明顯的局限性:它所要處理的圖像數(shù)據(jù)量最大;這種融合是在信息的最低層進(jìn)行的,傳感器原始信息不確定性、不完全性和不穩(wěn)定性要求在融合時(shí)有較高的糾錯(cuò)處理能力;要求各傳感器信息之間有精確到一個(gè)像素的配準(zhǔn)精度;數(shù)

67、據(jù)通信量大,抗干擾能力差。</p><p>  特征級(jí)圖像融合屬于中間層次融合,它首先對(duì)來自傳感器的原始信息進(jìn)行特征(如邊沿、形狀、輪廓、方向、區(qū)域和距離等)提取,產(chǎn)生特征矢量,然后對(duì)特征矢量進(jìn)行融合處理,并做出基于融合特征矢量的融合說明。一般來說,提取的特征信息應(yīng)該是像素信息的充分表示量或充分估計(jì)量,然后按照特征信息對(duì)多傳感器數(shù)據(jù)進(jìn)行分類、匯集和綜合。特征級(jí)圖像融合涉及圖像分割、特征提取和特征層的信息融合。&l

68、t;/p><p>  特征級(jí)融合可以分為兩大類:目標(biāo)狀態(tài)融合和目標(biāo)特性融合。特征級(jí)目標(biāo)狀態(tài)信息融合主要應(yīng)用于多傳感器目標(biāo)跟蹤領(lǐng)域, 其融合處理主要實(shí)現(xiàn)參數(shù)相關(guān)和狀態(tài)矢量估計(jì)。特征級(jí)目標(biāo)特性融合就是特征層的聯(lián)合目標(biāo)識(shí)別,其仍然要融合方法中仍然要用到模式識(shí)別的相關(guān)技術(shù),只是在融合處理前必須對(duì)特征進(jìn)行相關(guān)處理,對(duì)特征矢量進(jìn)行分類與綜合。更為重要的是,在模式識(shí)別、圖像處理和計(jì)算機(jī)視覺等領(lǐng)域,人們已經(jīng)對(duì)特征提取和基于特征的聚類

69、問題進(jìn)行了深入的研究。</p><p>  特征級(jí)融合的優(yōu)點(diǎn)在于實(shí)現(xiàn)了客觀的信息壓縮,有利于實(shí)時(shí)處理,并且由于所提供的特征直接與決策分析有關(guān),因此融合結(jié)果能夠最大限度的給出決策分析所需要的特征信息;</p><p>  其缺點(diǎn)是比像素級(jí)融合精度差。</p><p>  決策級(jí)融合屬于最高層次的融合,包含了檢測、分類、識(shí)別和融合。它首先對(duì)每個(gè)數(shù)據(jù)進(jìn)行屬性說明,然后將其

70、結(jié)果加以融合,得到目標(biāo)或環(huán)境的融合屬性說明,其結(jié)果為指揮控制決策提供依據(jù)。因此,決策級(jí)融合必須從具體決策問題的需求出發(fā),充分利用特征級(jí)融合所提取的測量對(duì)象的各類信息,采用適當(dāng)?shù)娜诤霞夹g(shù)來實(shí)現(xiàn)。決策級(jí)融合是這三級(jí)融合里的最高層次,是直接針對(duì)具體決策目標(biāo)的,融合結(jié)果的好壞直接影響決策水平。在決策級(jí)圖像融合之前,每種傳感器己經(jīng)被獨(dú)立完成了決策和分類任務(wù),融合工作實(shí)質(zhì)上是做出全局的最優(yōu)決策。決策級(jí)圖像融合的優(yōu)點(diǎn)表現(xiàn)為:它能在增加或減少一個(gè)或多個(gè)

71、傳感器的情況下工作,對(duì)傳感器沒有特殊的要求,因此,它具有很強(qiáng)的容錯(cuò)性、很好的開放性、融合中心處理代價(jià)小,較短的處理時(shí)間等特點(diǎn)。同時(shí)由于處理的數(shù)據(jù)量較小,信息通信量小,抗干擾能力強(qiáng),還能有效的反映環(huán)境或目標(biāo)各個(gè)側(cè)面的不同類型信息。但是,由于是最高級(jí)別的融合,需要以前面級(jí)別的融合結(jié)果作為輸入,所以預(yù)處理的代價(jià)非常高。</p><p>  4.2.3 圖像融合算法</p><p>  4.3VC

72、環(huán)境下融合的C++實(shí)現(xiàn)</p><p>  4.3.1 融合的程序方案設(shè)計(jì)</p><p><b>  1 總體設(shè)計(jì)</b></p><p>  圖3.1 程序解決方案</p><p><b>  2 程序頭文件</b></p><p>  圖3.2 Resource.h文件

73、</p><p>  3 spliceimagedlg.h文件:</p><p>  // spliceImageDlg.h : header file</p><p><b>  //</b></p><p>  #pragma once</p><p>  // CspliceImageDlg

74、 dialog</p><p>  class CspliceImageDlg : public CDialog</p><p><b>  {</b></p><p>  // Construction</p><p><b>  public:</b></p><p> 

75、 CspliceImageDlg(CWnd* pParent = NULL);// standard constructor</p><p>  // Dialog Data</p><p>  enum { IDD = IDD_SPLICEIMAGE_DIALOG };</p><p>  protected:</p><p>  vir

76、tual void DoDataExchange(CDataExchange* pDX);// DDX/DDV support</p><p>  // Implementation</p><p>  protected:</p><p>  HICON m_hIcon;</p><p>  Image *m_firstImg;</

77、p><p>  Image *m_secondImg;</p><p>  Image *m_afterSpliceImage;</p><p>  CString m_path1,m_path2;</p><p>  // Generated message map functions</p><p>  virtual

78、 BOOL OnInitDialog();</p><p>  afx_msg void OnSysCommand(UINT nID, LPARAM lParam);</p><p>  afx_msg void OnPaint();</p><p>  afx_msg HCURSOR OnQueryDragIcon();</p><p> 

79、 DECLARE_MESSAGE_MAP()</p><p><b>  public:</b></p><p>  afx_msg void OnBnClickedButton1();</p><p>  afx_msg void OnBnClickedButton2();</p><p>  afx_msg void

80、 OnBnClickedButton3();</p><p>  afx_msg void OnBnClickedOk();</p><p>  double m_thr;</p><p>  afx_msg void OnBnClickedButton4();</p><p><b>  };</b></p>

81、;<p>  4.3.2 VC環(huán)境下融合的程序的框架</p><p>  3.6.2 VC環(huán)境下融合的程序的框架</p><p>  // MainFrm.cpp : implementation of the CMainFrame class</p><p><b>  //</b></p><p>  

82、#include "stdafx.h"</p><p>  #include "PixelFusion.h"</p><p>  #include "SegmentView.h"</p><p>  #include "PixelFusionView.h"</p><

83、p>  #include "FusionView.h"</p><p>  #include "MainFrm.h"</p><p>  #ifdef _DEBUG</p><p>  #define new DEBUG_NEW</p><p>  #undef THIS_FILE</p&g

84、t;<p>  static char THIS_FILE[] = __FILE__;</p><p><b>  #endif</b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p> 

85、 // CMainFrame</p><p>  IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)</p><p>  BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)</p><p>  //{{AFX_MSG_MAP(CMainFrame)</p><p>  // NO

86、TE - the ClassWizard will add and remove mapping macros here.</p><p>  // DO NOT EDIT what you see in these blocks of generated code !</p><p>  ON_WM_CREATE()</p><p>  ON_COMMAND

87、(IDM_DEVIOR, OnDevior)</p><p>  ON_COMMAND(IDM_KROMO, OnKromo)</p><p>  ON_COMMAND(IDM_XPBLUE, OnXpblue)</p><p>  ON_UPDATE_COMMAND_UI(IDM_KROMO, OnUpdateKromo)</p><p>

88、  ON_UPDATE_COMMAND_UI(IDM_XPBLUE, OnUpdateXpblue)</p><p>  //}}AFX_MSG_MAP</p><p>  END_MESSAGE_MAP()</p><p>  static UINT indicators[] =</p><p><b>  {</b>

89、</p><p>  ID_SEPARATOR, // status line indicator</p><p>  ID_INDICATOR_CAPS,</p><p>  ID_INDICATOR_NUM,</p><p>  ID_INDICATOR_SCRL,</p><p><b&

90、gt;  };</b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMainFrame construction/destruction</p><p>  CMainFrame::CMainFr

91、ame()</p><p><b>  {</b></p><p>  // TODO: add member initialization code here</p><p><b>  }</b></p><p>  CMainFrame::~CMainFrame()</p>&l

92、t;p><b>  {</b></p><p><b>  }</b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMainFrame message han

93、dlers</p><p>  void CMainFrame::OnDevior() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>  LoadSkinFromResource( AfxGetInst

94、anceHandle(),"DEVIOR" ,"SKINMAGIC");</p><p><b>  }</b></p><p>  void CMainFrame::OnKromo() </p><p><b>  {</b></p><p>  // TO

95、DO: Add your command handler code here</p><p>  LoadSkinFromResource( AfxGetInstanceHandle(),"KROMO","SKINMAGIC"); </p><p>  if( !m_bSkinned )</p><p><b>  

96、{</b></p><p>  VERIFY( 1 == SetWindowSkin( m_hWnd , "MainFrame" ));</p><p>  VERIFY( 1 == SetDialogSkin( "Dialog" ) );</p><p>  m_nIndex = 0 ;</p>&

97、lt;p><b>  }</b></p><p><b>  }</b></p><p>  void CMainFrame::OnXpblue() </p><p><b>  {</b></p><p>  // TODO: Add your command han

98、dler code here</p><p>  LoadSkinFromResource( AfxGetInstanceHandle() , "XPBLUE" ,"SKINMAGIC") ;</p><p><b>  }</b></p><p>  void CMainFrame::OnUpdate

99、Kromo(CCmdUI* pCmdUI) </p><p><b>  {</b></p><p>  // TODO: Add your command update UI handler code here</p><p>  pCmdUI->SetCheck(m_nIndex == 0 );</p><p>

100、;<b>  }</b></p><p>  void CMainFrame::OnUpdateXpblue(CCmdUI* pCmdUI) </p><p><b>  {</b></p><p>  // TODO: Add your command update UI handler code here</p&

101、gt;<p>  pCmdUI->SetCheck(m_nIndex == 1 );</p><p><b>  }</b></p><p>  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)</p><p><b>  {</b><

102、/p><p>  if (CFrameWnd::OnCreate(lpCreateStruct) == -1)</p><p>  return -1;</p><p>  if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP</p><p>

103、;  | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||</p><p>  !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))</p><p><b>  {</b></p><p>  TRACE0("Failed

104、to create toolbar\n");</p><p>  return -1; // fail to create</p><p><b>  }</b></p><p>  if (!m_wndStatusBar.Create(this) ||</p><p>  !m_wndStatusB

105、ar.SetIndicators(indicators,</p><p>  sizeof(indicators)/sizeof(UINT)))</p><p><b>  {</b></p><p>  TRACE0("Failed to create status bar\n");</p><p>

106、;  return -1; // fail to create</p><p><b>  }</b></p><p>  // TODO: Delete these three lines if you don't want the toolbar to</p><p>  // be dockable</p>

107、<p>  m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);</p><p>  EnableDocking(CBRS_ALIGN_ANY);</p><p>  DockControlBar(&m_wndToolBar);</p><p><b>  return 0;</b><

108、;/p><p><b>  }</b></p><p>  BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)</p><p><b>  {</b></p><p>  if( !CFrameWnd::PreCreateWindow(cs) )

109、</p><p>  return FALSE;</p><p>  // TODO: Modify the Window class or styles here by modifying</p><p>  // the CREATESTRUCT cs</p><p>  return TRUE;</p><p>

110、;<b>  }</b></p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMainFrame diagnostics</p><p>  #ifdef _DEBUG</p>&

111、lt;p>  void CMainFrame::AssertValid() const</p><p><b>  {</b></p><p>  CFrameWnd::AssertValid();</p><p><b>  }</b></p><p>  void CMainFrame::

112、Dump(CDumpContext& dc) const</p><p><b>  {</b></p><p>  CFrameWnd::Dump(dc);</p><p><b>  }</b></p><p>  #endif //_DEBUG</p><p>

113、  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMainFrame message handlers</p><p>  BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateConte

114、xt* pContext) </p><p><b>  {</b></p><p>  if (!m_wndSplitter.CreateStatic(this, 1, 3))</p><p><b>  {</b></p><p>  TRACE0("Failed to CreateS

溫馨提示

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

評(píng)論

0/150

提交評(píng)論