




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGE9數字圖像處理課程綜合實習指導書武漢大學遙感信息工程學院實驗中心數字圖像處理課程綜合實習說明實習目的本實習內容旨在讓學生通過用VC等高級語言編寫數字圖像處理的一些基本算法程序,來鞏固和掌握圖像處理技術的基本技能,提高實際動手能力,并通過實際編程了解圖像處理軟件的實現的基本原理。為學生進一步學習數字攝影測量、遙感和地理信息系統等專業課程以及應用圖像處理解決實際問題奠定基礎。實習要求:(1)實習前應認真復習和熟悉圖像的存儲格式、圖像處理的常用算法的理論知識。(2)實習者應熟悉C或VC程序設計語言。(3)每人固定用一臺計算機,以班級學號名建立文件夾,將自己的實習成果存放在自己的文件夾中。(4)實習完成后,老師將根據最后成果評分。(5)每個同學最后要遞交一份實習報告和按實習要求編寫的程序。實習考核評分辦法:考勤(遲到、早退、曠課扣分)(20分);編程實現的算法和功能(50分);實習報告(30分);第一部分數字圖像處理的基礎知識1、數字圖像概念數字圖像是連續圖像的一種近似表示,通常用由采樣點的值所組成的矩陣來表示:每一個采樣點叫做一個像素(pixel)。上式中m,n分別為數字圖像的行數和列數。在計算機內,通常采用二維數組來表示數字圖像的矩陣。把像素按不同的方式進行組織或存儲,就得到不同的圖像格式,把圖像數據存成文件就得到圖像文件。圖像文件按其數字圖像格式的不同一般具有不同的擴展名,常見的圖像文件格式有:RAW格式、BMP格式、TGA格式、PCX格式、GIF格式、TIFF格式等。2、BMP文件構成BMP格式:這是一種常用的數字影像格式,一個BMP文件大體上分成如下4個部分:BITMAPFILEHEADER(位圖文件頭)、BITMAPINFOHEADER(位圖信息頭)、Palette(調色版)、DIBPixels(DIB圖像數據)。第一部分:位圖文件頭BITMAPFILEHEADER,它是一個結構typedefstructtagBITMAPFILEHEADER{WORDbfType;DWORDbfSize;WORDbfReserved1;WORDbfReserved2;DWORDbfOffBits;}BITMAPFILEHEADER,FAR*LPBITMAPFILEHEADER;該結構的長度是固定的,為14個字節,各參數說明如下:bfType:指定文件類型,必須是0x424D,即字符串“BM”。也就是說所有的“.bmp”文件的頭兩個字節都是“BM”bfSize:指定文件大小;bfReserved1、bfReserved2:為保留字,不用考慮;bfOffBits:為文件頭到實際的位圖數據的偏移字節數,也就是前三部分長度之和。第二部分:位圖信息頭BITMAPINFOHEADERtypedefstructtagBITMAPINFOHEADER{DWORDbfSize;LONGbiWidth;LONGbiHeight;WORDbiPlanes;WORDbiBitCount;DWORDbiCompression;DWORDbiSizeImage;LONGbiXPelsPerMeter;LONGbiYPersPerMeter;DWORDbiClrUsed;DWORDbiClrImportant;}BITMAPINFOHEADER,FAR*LPBITMAPINFOHEADER;該結構的長度為40個節,各參數的意義說明如下:biSize:指定這個結構的大小,為40個字節;biWidth:指定圖像的寬度,單位是像素;biHeight:指定圖像的高度,單位是像素;biPlanes:必須是1;biBitCount:指定表示顏色要用到的位數,常用的值1(黑白)8(256色)、24(真彩色);biCompression:指定位圖是否壓縮,有效值為BI_RGB、BI_RLE4、BI_RLE8。其中BI_RGB為不壓縮的情況。biSizeImage;指定實際的位圖數據占用的字節數。可以用下面的公式計算:需要注意的是:上述公式中的不一定總等于biWidth,必須是4的整數倍,表示大于或等于biWidth的離4最近的整倍數。biXPelsPerMeter:指定目標設備的水平分辨率,單位是每米的像素個數;biYPelsPerMeter;指定目標設備的垂直分辨率,單位是每米的像素個數;biClrUsed:指定本圖像實際用到的顏色數,如果該值為0則用到的顏色數為2的biBitCount次冪;biClrImportant:指定本圖像中重要的顏色數,如果該值為零,則認為所用的顏色都是重要的。第三部分:Palette(調色板)調色板實際上是一個數組,共有biClrUsed(顏色數)個元素(如果該值為0,則為2的biBitCount次冪)。數組中每個元素(顏色)的類型為一個RGBQUAD結構,占4個字節。結構定義如下:typedefstructtagRGBQUAD{BYTErgbBlue;BYTErgbGreen;BYTErgbRed;BYTErgbReserved;}RGBQUAD;注意:有些位圖,比如真彩色圖,沒有調色板。他們的位圖信息頭(BITMAPINFOHEADER)后直接是DIB數據。第四部分:DIB圖像數據分兩種情況:對于用到調色板的位圖,圖像數據就是該像素顏色在調色板中的索引值;對于真彩色圖,圖像數據就是實際的R、G、B值。對于2色位圖,用1位就可以表示該像素的顏色,因此一個字節可以表示8個像素;對于16色位圖,用4位可以表示一個像素的顏色,所以1個字節可以表示2個像素;對于256色位圖,一個字節剛好表示一個像素;對于真彩色圖,3個字節才能表示1個像素注意:1.每一行的字節數必須是4的整倍數,如果不是,則需要補齊;2.圖像數據是按照從上到下、從左到右的順序存儲;我們最先讀到的是圖像最下面一行的左邊第一個像素,然后是左邊第二個像素接下來是倒數第二行左邊第一個像素,左第二個像素依此類推,最后得到的是最上面一行的最后一個像素。3、常用位圖函數intSetDIBitsToDevice(HDChdc,intXDest,intYDest,DWORDdwWidth,DWORDwHeight,intXSrc,intYSrc,UINTuStartScan,UINTcScanLines,CONSTVOID*lpBits,CONSTBITMAPINFO*lpbmi,UINTfuColorUse)該函數可以直接在顯示器或打印機上顯示DIB,在顯示時不進行縮放處理,即位圖的每一個像素對應于一個顯示像素或打印機的打印點。其中各參數的含義如下:HDChdc:設備上下文句柄。它可以是CDC對象的公共成員變量m_hDC。intXdest:指定繪圖區域的左上角x坐標(邏輯單位)intYdest:指定繪圖區域的左上角y坐標(邏輯單位)DWORDdwWidth:指定DIB的寬度(邏輯單位)DWORDdwHeight:指定DIB的高度(邏輯坐標)intXsrc:指定原繪圖要繪制區域的左上角x坐標(邏輯單位)intYsrc:指定原繪圖要繪制區域的左上角y坐標(邏輯單位)UINTuStartScan:指定DIB掃描的起始行UINTcScanLines:指定DIB掃描的行數(即DIB的高度)CONSTVOID*lpBits:指向DIB圖像數據的指針lpbmi:指向BITMAPINFO結構的指針fuColorUse:指定BITMAPINFO結構中的bmiColors參數代表真實的RGB值還是調色板中的索引值,它有兩種可能的取值:DIB_PAL_COLORS:代表索引值DIB_RGB_COLORS:代表真實的RGB值該函數如果調用成功,返回繪制的行數;失敗,則返回0。intStretchDIBits(HDChdc,intXDest,intYDest,intnDestWidth,intnDestHeight,intXSrc,intYSrc,intnSrcWidth,intnSrcHeight,CONSTVOID*lpvBits,CONSTBITMAPINFO*lpbmi,UINTiUsage,DWORDdwRop)intnSrcWidth:指定要復制原圖像矩形區域的寬度(邏輯單位)intnSrcHeight:指定要復制原圖像矩形區域的高度(邏輯單位)lpBits:指向DIB圖像數據區的指針lpBitsInfo:指向BITMAPINFO結構的指針iUsage:指定BITMAPINFO結構中的bmiColors參數代表真實的RGB值還是調色板中的索引值,它有兩種可能的取值:DIB_PAL_COLORS:代表索引值DIB_RGB_COLORS:代表真實的RGB值dwRop:指定繪制方式;常用的值為SRCCOPY,表示將原位圖復制到目標位圖該函數如果調用成功,返回繪制的行數;如果調用失敗,則返回GDI_ERROR。讀.bmp文件的函數原型HDIBReadDIBFile(CFile&file)函數的參數Cfile&file:為文件名;該函數的返回值是文件中的圖像數據的句柄。4.將圖像數據保存成.bmp文件,函數原型BOOLWINAPISaveDIB(HDIBhDib,CFile&file)第一個參數為hDIB表示保存圖像數據的內存區域的句柄第二個參數為保存圖像的文件名。5、查找位圖像素LPSTRWINAPIFindDIBBits(LPSTRlpbi):此函數用于計算DIB位圖圖像數據的地址,返回一個指向位圖圖像數據起始位置的指針。6、GlobalLock(HGLOBALhMem)、GlobalUnLock(HGLOBALhMem)申請內存、釋放內存函數。
第二部分實習內容實習一、將RAW圖像格式轉換成BMP圖像格式一、實習目的熟悉常用的圖像文件格式與格式轉換,認識各圖像格式的優缺點;掌握RAW和BMP格式的存儲和讀取,編程實現RAW—〉BMP格式的轉換,為讀取各種格式文件打基礎。二、實習原理RAW格式:文件按照數字圖像組成的二維矩陣,將像素按行列號順序存儲在文件中。這種文件只含有圖像像素數據,不含有信息頭,因此,在讀圖像時,需要根據文件大小,計算圖像所包含的行列號,或者需要事先知道圖像大小(矩陣大小)。但這種文件讀取和保存簡單。RAW文件按圖像上行到下行、左列到右列順序存儲,而BMP文件數據區按圖像上下行到上行、左列列到右列順序存儲到數據區。實現RAW文件到BMP文件的轉換,需要為BMP文件生成文件頭、信息頭、顏色表、數據區,將RAW文件數據區賦值到BMP文件數據區。三、實習內容和要求掌握BMP格式的讀取和存儲,創建CDib類;實現從RAW格式到BMP格式的轉換。四、實習步驟根據學號新建自己的文件夾;使用AppWizard生成一個基于多文檔的項目(自己命名);將CxxxxView類的基類設為CscrollView類,使項目顯示圖像時支持滾動條;將所給程序的Dibapi.h和Dibapi.cpp加入自己新建的項目中;編譯連接運行自己的程序,看運行結果;添加菜單項“RAW-〉BMP”,并建立相應的消息處理函數;在函數體內添加自己的代碼,實現RAW的讀取,并實現RAW到BMP格式的轉換功能。修改程序編制中出現的各種語法錯誤和邏輯錯誤;檢查程序運行結果。實習二編寫線性灰度變換的程序一、實習目的熟悉圖像點增強的一般方法,掌握圖像點增強的算法和原理,會用編程方法實現其算法。二、實習原理點運算是指像素值(即像素點上的灰度值)通過運算改變之后,可以改善圖象的顯示效果。這是一種像素的逐點運算,是舊圖象與新圖象之間的映射關系,是一種簡單但卻十分有效的一種圖象處理手段。常用方法有灰度線性變換、直方圖均衡、對比度調整、直方圖規定化、對數變換、指數變換、密度分割等方法。灰度的線性變換就是指圖像的中所有點的灰度按照線性灰度變換函數進行變換。灰度變換方程如下:輸入和輸出圖像相同灰度。灰度值上移或下移,更亮或更暗輸出圖像的對比度將增大該方程為線性方程。式中參數為輸入圖像的像素的灰度值,參數為輸出圖像的輸入和輸出圖像相同灰度。灰度值上移或下移,更亮或更暗輸出圖像的對比度將增大輸出圖像的對比度將減小特殊的輸出圖像的對比度將減小特殊的,輸出圖像灰度反轉三、實習內容和要求熟悉基于點運算增強的灰度線性變換算法;認真閱讀圖像顯示程序段以及像素灰度值的讀取、改變與存儲;在實習一的基礎上完成灰度線性變換的程序編制。四、實習步驟打開自己實習一所建的項目;添加菜單項“線性拉伸”;為該菜單項建立消息處理函數;在函數定義處添加自己的源代碼。編譯檢查語法錯誤,若編譯通過,運行程序,檢查是否能實現灰度線性變換。五、思考題1、線性變換后,像素的灰度值是否超出0-255的范圍,若超出,該如何處理?2、若要實現直方圖均衡,該如何實現?試用流程圖表示。實習三編寫局部處理的程序一、實習目的熟悉圖像局部處理的一般方法,掌握圖像局部處理的算法和原理,會用編程方法實現其算法。二、實習原理 局部處理在處理某一像素時,利用與該像素相鄰的一組像素,經過某種變換得到處理后圖像中某一點的像素值。目標像素的鄰域一般是由像素組成的二維矩陣,該矩陣的大小為奇數,目標像素位于該矩陣的中央,即目標像素就是區域的中心像素。經過處理后,目標像素的值為經過特定算法計算后所得的結果。 主要的局部處理算法有卷積、中值濾波sobel邊緣檢測等,其中卷積算法的應用最廣泛,大部分的局部處理都采用卷積算法來實現。 卷積可以簡單地看成加權求和的過程。卷積時使用的權用一個很小的矩陣來表示,矩陣的大小是奇數,而且與使用的區域的大小相同。這種權矩陣叫做卷積核,區域中的每個像素分別與卷積核中的每
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物化學與藥物應用測試題
- 陰道分娩考試試題及答案
- 六一兒童節商場活動方案
- 六一咨詢活動方案
- 醫學公招考試試題及答案
- 六一活動冰棍活動方案
- 六一活動才藝秀活動方案
- 六一活動撒紙屋活動方案
- 六一游船活動方案
- 六一暢游活動方案
- 配電網技術標準(施工驗收分冊)
- arm嵌入式系統試題及標準答案
- 12英寸主要原輔材料消耗表
- 麻醉科PDCA持續改進麻醉術后鎮痛
- 企業主要質量管理人員情況表
- 醫院護理培訓課件:《成人腸內營養支持的護理》
- 火字旁教學講解課件
- 低品位金礦堆浸項目建設可行性研究報告
- 租車公司疫情防控應急預案
- 礦山在用提升罐籠安全檢測檢驗規范
- 2023-2025年初中學業水平考試體育與健康考試體育中考理論考試題庫
評論
0/150
提交評論