




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)字圖像處理課程綜合實(shí)習(xí) 指導(dǎo)書武漢大學(xué)遙感信息工程學(xué)院實(shí)驗(yàn)中心數(shù)字圖像處理課程綜合實(shí)習(xí)說明實(shí)習(xí)目的本實(shí)習(xí)內(nèi)容旨在讓學(xué)生通過用 VC 等高級(jí)語言編寫數(shù)字圖像處理的一 些基本算法程序,來鞏固和掌握?qǐng)D像處理技術(shù)的基本技能,提高實(shí)際動(dòng)手 能力,并通過實(shí)際編程了解圖像處理軟件的實(shí)現(xiàn)的基本原理。為學(xué)生進(jìn)一 步學(xué)習(xí)數(shù)字?jǐn)z影測(cè)量、遙感和地理信息系統(tǒng)等專業(yè)課程以及應(yīng)用圖像處理 解決實(shí)際問題奠定基礎(chǔ)。實(shí)習(xí)要求:(1實(shí)習(xí)前應(yīng)認(rèn)真復(fù)習(xí)和熟悉圖像的存儲(chǔ)格式、圖像處理的常用算 法的理論知識(shí)。(2實(shí)習(xí)者應(yīng)熟悉 C 或 VC 程序設(shè)計(jì)語言。(3每人固定用一臺(tái)計(jì)算機(jī),以班級(jí)學(xué)號(hào)名建立文件夾,將自己的 實(shí)習(xí)成果存放在自己的文件
2、夾中。(4實(shí)習(xí)完成后,老師將根據(jù)最后成果評(píng)分。(5每個(gè)同學(xué)最后要遞交一份實(shí)習(xí)報(bào)告和按實(shí)習(xí)要求編寫的程序。 實(shí)習(xí)考核評(píng)分辦法:(1 考 勤(遲到、早退、曠課扣分 (20分 ;(2 編 程實(shí)現(xiàn)的算法和功能(50分 ;(3 實(shí) 習(xí)報(bào)告(30分 ;第一部分 數(shù)字圖像處理的基礎(chǔ)知識(shí)1、數(shù)字圖像概念數(shù)字圖像是連續(xù)圖像的一種近似表示,通常用由采樣點(diǎn)的值所組成的矩陣來表示 :每一個(gè)采樣點(diǎn)叫做一個(gè)像素(pixel 。上式中 m,n 分別為數(shù)字圖像的行數(shù)和列數(shù)。在計(jì)算機(jī)內(nèi),通 常采用二維數(shù)組來表示數(shù)字圖像的矩陣。 把像素按不同的方式進(jìn)行組織或存儲(chǔ), 就得到不同的圖像 格式, 把圖像數(shù)據(jù)存成文件就得到圖像文件。 圖
3、像文件按其數(shù)字圖像格式的不同一般具有不同的擴(kuò) 展名, 常見的圖像文件格式有:RAW 格式、 BMP 格式、 TGA 格式、 PCX 格式、 GIF 格式、 TIFF 格式等。2、 BMP 文件構(gòu)成BMP 格式:這是一種常用的數(shù)字影像格式, 一個(gè) BMP 文件大體上分成如下 4個(gè)部分:BITMAPFILEHEADER (位圖文件頭 、 BITMAPINFOHEADER (位圖信息頭 、 Palette (調(diào)色版 、 DIB Pixels(DIB 圖像數(shù) 據(jù) 。第一部分:位圖文件頭 BITMAPFILEHEADER ,它是一個(gè)結(jié)構(gòu)typedef struct tagBITMAPFILEHEADER
4、WORD bfType;DWORD bfSize;WORD bfReserved1;WORD bfReserved2;DWORD bfOffBits;BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER;該結(jié)構(gòu)的長(zhǎng)度是固定的,為 14個(gè)字節(jié),各參數(shù)說明如下: bfType :指定文件類型,必須是 0x424D ,即字符串“BM”。也就是說所有的“.bmp”文件的頭兩個(gè)字節(jié)都是“BM” bfSize :指定文件大小; bfReserved1、 bfReserved2:為保留字,不用考慮; bfOffBits :為文件頭到實(shí)際的位圖數(shù)據(jù)的偏移字節(jié)數(shù),也就是前三部分長(zhǎng)度
5、之和。第二部分:位圖信息頭 BITMAPINFOHEADERtypedef struct tagBITMAPINFOHEADERDWORD bfSize;LONG biWidth;LONG biHeight;WORD biPlanes;WORD biBitCount;DWORD biCompression;DWORD biSizeImage;LONG biXPelsPerMeter;=-1, 11, 10, 11, 11, 10, 11, 01, 00, 0, n m m m n n i i i i i i i i i n m I ILONG biYPersPerMeter;DWORD biC
6、lrUsed;DWORD biClrImportant;BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER;該結(jié)構(gòu)的長(zhǎng)度為 40個(gè)節(jié),各 參數(shù)的意義說明如下: biSize :指定這個(gè)結(jié)構(gòu)的大小,為 40個(gè)字節(jié); biWidth :指定圖像的寬度,單位是像素; biHeight :指定圖像的高度,單位是像素; biPlanes :必須是 1; biBitCount :指定表示顏色要用到的位數(shù),常用的值 1(黑白 8(256色 、 24(真彩色 ; biCompression :指定位圖是否壓縮,有效值為 BI_RGB、 BI_RLE4、 BI_RLE8。其中 B
7、I_RGB為不壓縮的情況。 biSizeImage ;指定實(shí)際的位圖數(shù)據(jù)占用的字節(jié)數(shù)??梢杂孟旅娴墓接?jì)算:需要注意的是:上述公式中的 ' biWidth 不一定總等于 biWidth , ' biWidth 必須是 4的整數(shù)倍,表 示大于或等于 biWidth 的離 4最近的整倍數(shù)。 biXPelsPerMeter :指定目標(biāo)設(shè)備的水平分辨率,單位是每米的像素個(gè)數(shù); biYPelsPerMeter ;指定目標(biāo)設(shè)備的垂直分辨率,單位是每米的像素個(gè)數(shù); biClrUsed :指定本圖像實(shí)際用到的顏色數(shù),如果該值為 0則用到的顏色數(shù)為 2的 biBitCount次冪; biClrI
8、mportant :指定本圖像中重要的顏色數(shù), 如果該值為零, 則認(rèn)為所用的顏色都是重要的。 第三部分:Palette (調(diào)色板調(diào)色板實(shí)際上是一個(gè)數(shù)組,共有 biClrUsed(顏色數(shù) 個(gè)元素(如果 該值為 0,則為 2的 biBitCount 次冪 。數(shù)組中每個(gè)元素 (顏色 的類型為一個(gè) RGBQUAD 結(jié)構(gòu),占 4個(gè)字節(jié)。結(jié)構(gòu)定義如下:typedef struct tagRGBQUADBYTE rgbBlue;BYTE rgbGreen;BYTE rgbRed;BYTE rgbReserved;RGBQUAD;注意:有些位圖,比如真彩色圖,沒有調(diào)色板。他們的位圖信息頭(BITMAPINFO
9、HEADER 后直接是 DIB 數(shù)據(jù)。第四部分:DIB 圖像數(shù)據(jù)分兩種情況:對(duì)于用到調(diào)色板的位圖,圖像數(shù)據(jù)就是該像素顏色在調(diào)色板 中的索引值;對(duì)于真彩色圖,圖像數(shù)據(jù)就是實(shí)際的 R 、 G 、 B 值。 對(duì)于 2色位圖,用 1位就可以表示該像素的顏色,因此一個(gè)字節(jié)可以表示 8個(gè)像素; 對(duì)于 16色位圖,用 4位可以表示一個(gè)像素的顏色,所以 1個(gè)字節(jié)可以表示 2個(gè)像素; 對(duì)于 256色位圖,一個(gè)字節(jié)剛好表示一個(gè)像素; 對(duì)于真彩色圖, 3個(gè)字節(jié)才能表示 1個(gè)像素注意:1. 每一行的字節(jié)數(shù)必須是 4的整倍數(shù),如果不是,則需要補(bǔ)齊;2. 圖像數(shù)據(jù)是按照從上到下、 從左到右的順序存儲(chǔ); 我們最先讀到的是圖
10、像最下面一行的 左邊第一個(gè)像素, 然后是左邊第二個(gè)像素接下來是倒數(shù)第二行左邊第一個(gè)像素, 左第二個(gè)像素依此 類推,最后得到的是最上面一行的最后一個(gè)像素。Im biSize age biWidth biHeight'=3、常用位圖函數(shù)int SetDIBitsToDevice(HDC hdc,int XDest,int YDest,DWORD dwWidth, DWORD wHeight,int XSrc,int YSrc,UINT uStartScan, UINT cScanLines,CONST VOID *lpBits, CONST BITMAPINFO *lpbmi,UINT f
11、uColorUse該函數(shù)可以直接在顯示器或打印機(jī)上顯示 DIB ,在顯示時(shí)不進(jìn)行縮放處理,即位圖的每一個(gè) 像素對(duì)應(yīng)于一個(gè)顯示像素或打印機(jī)的打印點(diǎn)。其中各參數(shù)的含義如下:HDC hdc:設(shè)備上下文句柄。它可以是 CDC 對(duì)象的公共成員變量 m_hDC。int Xdest:指定繪圖區(qū)域的左上角 x 坐標(biāo)(邏輯單位int Ydest:指定繪圖區(qū)域的左上角 y 坐標(biāo)(邏輯單位DWORD dwWidth:指定 DIB 的寬度(邏輯單位DWORD dwHeight:指定 DIB 的高度(邏輯坐標(biāo)int Xsrc:指定原繪圖要繪制區(qū)域的左上角 x 坐標(biāo)(邏輯單位int Ysrc:指定原繪圖要繪制區(qū)域的左上角
12、 y 坐標(biāo)(邏輯單位UINT uStartScan:指定 DIB 掃描的起始行UINT cScanLines:指定 DIB 掃描的行數(shù)(即 DIB 的高度CONST VOID* lpBits:指向 DIB 圖像數(shù)據(jù)的指針lpbmi :指向 BITMAPINFO 結(jié)構(gòu)的指針fuColorUse :指定 BITMAPINFO 結(jié)構(gòu)中的 bmiColors 參數(shù)代表真實(shí)的 RGB 值還是調(diào)色板中的索引值, 它有兩種可能的取值:DIB_PAL_COLORS:代表索引值DIB_RGB_COLORS:代表真實(shí)的 RGB 值該函數(shù)如果調(diào)用成功,返回繪制的行數(shù);失敗,則返回 0。int StretchDIBi
13、ts(HDC hdc,int XDest,int YDest,int nDestWidth,int nDestHeight,int XSrc,int YSrc,int nSrcWidth,int nSrcHeight,CONST VOID *lpvBits,CONST BITMAPINFO *lpbmi,UINTiUsage,DWORD dwRopint nSrcWidth:指定要復(fù)制原圖像矩形區(qū)域的寬度(邏輯單位int nSrcHeight:指定要復(fù)制原圖像矩形區(qū)域的高度(邏輯單位lpBits :指向 DIB 圖像數(shù)據(jù)區(qū)的指針lpBitsInfo :指向 BITMAPINFO 結(jié)構(gòu)的指針iU
14、sage :指定 BITMAPINFO 結(jié)構(gòu)中的 bmiColors 參數(shù)代表真實(shí)的 RGB 值還是調(diào)色板中的索引值,它 有兩種可能的取值:DIB_PAL_COLORS:代表索引值DIB_RGB_COLORS:代表真實(shí)的 RGB 值dwRop :指定繪制方式;常用的值為 SRCCOPY ,表示將原位圖復(fù)制到目標(biāo)位圖該函數(shù)如果調(diào)用成功,返回繪制的行數(shù);如果調(diào)用失敗,則返回 GDI_ERROR。讀 .bmp 文件的函數(shù)原型HDIB ReadDIBFile(CFile& file函數(shù)的參數(shù) Cfile &file:為文件名;該函數(shù)的返回值是文件中 的圖像數(shù)據(jù)的句柄。4. 將圖像數(shù)據(jù)保
15、存成 .bmp 文件,函數(shù)原型BOOL WINAPI SaveDIB(HDIB hDib, CFile& file第一個(gè)參數(shù)為 hDIB 表示保存圖像數(shù)據(jù)的內(nèi)存區(qū)域的句柄第二個(gè)參數(shù)為保存圖像的文件名。5、查找位圖像素 LPSTR WINAPI FindDIBBits(LPSTR lpbi:此函數(shù)用于計(jì)算 DIB 位圖圖像數(shù)據(jù)的 地址,返回一個(gè)指向位圖圖像數(shù)據(jù)起始位置的指針。6、 GlobalLock (HGLOBAL hMem 、 GlobalUnLock(HGLOBAL hMem 申請(qǐng)內(nèi)存、釋放內(nèi)存函數(shù)。第二部分 實(shí)習(xí)內(nèi)容實(shí)習(xí)一、將 RAW 圖像格式轉(zhuǎn)換成 BMP 圖像格式一、實(shí)習(xí)目
16、的熟悉常用的圖像文件格式與格式轉(zhuǎn)換, 認(rèn)識(shí)各圖像格式的優(yōu)缺點(diǎn); 掌握 RAW 和 BMP 格式的存儲(chǔ) 和讀取,編程實(shí)現(xiàn) RAW BMP 格式的轉(zhuǎn)換,為讀取各種格式文件打基礎(chǔ)。二、實(shí)習(xí)原理RAW 格式:文件按照數(shù)字圖像組成的二維矩陣,將像素按行列號(hào)順序存儲(chǔ)在文件中。這種文件 只含有圖像像素?cái)?shù)據(jù),不含有信息頭,因此,在讀圖像時(shí),需要根據(jù)文件大小,計(jì)算圖像所包含的 行列號(hào),或者需要事先知道圖像大小(矩陣大小 。但這種文件讀取和保存簡(jiǎn)單。RAW 文件按圖像上行到下行、左列到右列順序存儲(chǔ),而 BMP 文件數(shù)據(jù)區(qū)按圖像上下行到上行、 左列列到右列順序存儲(chǔ)到數(shù)據(jù)區(qū)。實(shí)現(xiàn) RAW 文件到 BMP 文件的轉(zhuǎn)換,
17、需要為 BMP 文件生成文件頭、信息頭、顏色表、數(shù)據(jù)區(qū),將 RAW 文件數(shù)據(jù)區(qū)賦值到 BMP 文件數(shù)據(jù)區(qū)。三、實(shí)習(xí)內(nèi)容和要求1、 掌握 BMP 格式的讀取和存儲(chǔ),創(chuàng)建 CDib 類;2、 實(shí)現(xiàn)從 RAW 格式到 BMP 格式的轉(zhuǎn)換。四、實(shí)習(xí)步驟1、 根據(jù)學(xué)號(hào)新建自己的文件夾;2、 使用 AppWizard 生成一個(gè)基于多文檔的項(xiàng)目(自己命名 ;3、 將 CxxxxView 類的基類設(shè)為 CscrollView 類,使項(xiàng)目顯示圖像時(shí)支持滾動(dòng)條;4、 將所給程序的 Dibapi.h 和 Dibapi.cpp 加入自己新建的項(xiàng)目中;5、 編譯連接運(yùn)行自己的程序,看運(yùn)行結(jié)果;6、 添加菜單項(xiàng)“ RAW
18、- BMP ” ,并建立相應(yīng)的消息處理函數(shù);7、 在函數(shù)體內(nèi)添加自己的代碼,實(shí)現(xiàn) RAW 的讀取,并實(shí)現(xiàn) RAW 到 BMP 格式的轉(zhuǎn)換功能。8、 修改程序編制中出現(xiàn)的各種語法錯(cuò)誤和邏輯錯(cuò)誤;9、 檢查程序運(yùn)行結(jié)果。實(shí)習(xí)二 編寫線性灰度變換的程序一、實(shí)習(xí)目的熟悉圖像點(diǎn)增強(qiáng)的一般方法,掌握?qǐng)D像點(diǎn)增強(qiáng)的算法和原理,會(huì)用編程方法實(shí)現(xiàn) 其算法。二、實(shí)習(xí)原理點(diǎn)運(yùn)算是指像素值(即像素點(diǎn)上的灰度值通過運(yùn)算改變之后,可以改善圖象的顯示效果。這 是一種像素的逐點(diǎn)運(yùn)算, 是舊圖象與新圖象之間的映射關(guān)系, 是一種簡(jiǎn)單但卻十分有效的一種圖象 處理手段。常用方法有灰度線性變換、直方圖均衡、對(duì)比度調(diào)整、直方圖規(guī)定化、對(duì)數(shù)
19、變換、指數(shù) 變換、密度分割等方法?;叶鹊木€性變換就是指圖像的中所有點(diǎn)的灰度按照線性灰度變換函數(shù)進(jìn)行變換。 灰度變換方程 如下:該方程為線性方程。式中參數(shù) i D 為輸入圖像的像素的灰度值,參數(shù) 0D 為輸出圖像的三、實(shí)習(xí)內(nèi)容和要求1、 熟悉基于點(diǎn)運(yùn)算增強(qiáng)的灰度線性變換算法;2、 認(rèn)真閱讀圖像顯示程序段以及像素灰度值的讀取、改變與存儲(chǔ);3、 在實(shí)習(xí)一的基礎(chǔ)上完成灰度線性變換的程序編制。四、實(shí)習(xí)步驟1、 打開自己實(shí)習(xí)一所建的項(xiàng)目;2、 添加菜單項(xiàng)“線性拉伸” ;3、 為該菜單項(xiàng)建立消息處理函數(shù);4、 在函數(shù)定義處添加自己的源代碼。5、 編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)灰度線性
20、變換。五、思考題1、線性變換后,像素的灰度值是否超出 0-255的范圍,若超出,該如何處理? 2、若要實(shí)現(xiàn)直方圖 均衡,該如何實(shí)現(xiàn)?試用流程圖表示。( O i i D f D fA D fB=+1010010fA fB fA fB fA fA >=<<<輸出圖像的對(duì)比度將增大 灰度值上移或下移, 更亮或更暗 輸入和輸出圖像相同灰度。 輸出圖像的對(duì)比度將減小 特殊的 255, 1=-=fB fA , 輸出圖像灰度反轉(zhuǎn)實(shí)習(xí)三 編寫局部處理的程序一、實(shí)習(xí)目的熟悉圖像局部處理的一般方法,掌握?qǐng)D像局部處理的算法和原理,會(huì)用編程方法實(shí)現(xiàn)其算法。二、實(shí)習(xí)原理局部處理在處理某一像素時(shí),
21、 利用與該像素相鄰的一組像素, 經(jīng)過某種變換得到處理后圖像中 某一點(diǎn)的像素值。 目標(biāo)像素的鄰域一般是由像素組成的二維矩陣, 該矩陣的大小為奇數(shù), 目標(biāo)像素 位于該矩陣的中央, 即目標(biāo)像素就是區(qū)域的中心像素。 經(jīng)過處理后, 目標(biāo)像素的值為經(jīng)過特定算法 計(jì)算后所得的結(jié)果。主要的局部處理算法有卷積、 中值濾波 sobel 邊緣檢測(cè)等, 其中卷積算法的應(yīng)用最廣泛, 大部 分的局部處理都采用卷積算法來實(shí)現(xiàn)。卷積可以簡(jiǎn)單地看成加權(quán)求和的過程。 卷積時(shí)使用的權(quán)用一個(gè)很小的矩陣來表示, 矩陣的大小 是奇數(shù), 而且與使用的區(qū)域的大小相同。 這種權(quán)矩陣叫做卷積核, 區(qū)域中的每個(gè)像素分別與卷積核 中的每個(gè)元素相乘, 所有乘積之和即為區(qū)域中心像素的新值。 比如, 對(duì)于一個(gè) 3x3的區(qū)域 P 與卷積 核 K 卷積后,區(qū)域 P 的中心像素 5p 表示為:=915. i i i k p p其中, P=987654321p p p p p
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)數(shù)學(xué)下冊(cè)教案-5.3 長(zhǎng)方形的面積(2)-北師大版
- 五年級(jí)下冊(cè)數(shù)學(xué)教案-2.1 分?jǐn)?shù)的意義 ︳西師大版
- 2025年合同占股模板
- 一年級(jí)下數(shù)學(xué)教案-綜合練習(xí)-北師大版
- 2025年河北省石家莊市單招職業(yè)傾向性測(cè)試題庫附答案
- 2024年浸酸劑項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年湖南省郴州市單招職業(yè)適應(yīng)性測(cè)試題庫審定版
- 2025年度心理咨詢師培訓(xùn)朋輩督導(dǎo)小組保密合作協(xié)議
- 2025年度家禽養(yǎng)殖與食品安全監(jiān)管合作協(xié)議
- 2025年度導(dǎo)演與票務(wù)銷售公司聘用合同
- 工業(yè)自動(dòng)化控制系統(tǒng)升級(jí)與維護(hù)服務(wù)合同
- 定崗定編定員實(shí)施方案(5篇)
- 藥品經(jīng)營(yíng)質(zhì)量管理規(guī)范
- 爆破工程師培訓(xùn)
- 2024年云南省公務(wù)員考試《行測(cè)》真題及答案解析
- 教科版初中物理八年級(jí)下冊(cè)知識(shí)梳理
- 《飛科電器公司盈利能力存在的問題及完善對(duì)策(7800字論文)》
- 零星維修工程項(xiàng)目施工方案1
- 楚辭離騷的原文全文完整注音版、拼音版標(biāo)準(zhǔn)翻譯譯文及注釋
- 湖北省荊州市2024年七年級(jí)上學(xué)期期中數(shù)學(xué)試題【附答案】
- 刑事訴訟法課件
評(píng)論
0/150
提交評(píng)論