圖像顯示與處理實驗報告_第1頁
圖像顯示與處理實驗報告_第2頁
圖像顯示與處理實驗報告_第3頁
圖像顯示與處理實驗報告_第4頁
圖像顯示與處理實驗報告_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、圖像顯示與處理實驗報告班級: 信息123班 姓名: 楊陽 學號: 2012270736 / 6文檔可自由編輯打印圖像顯示與處理一、實驗?zāi)康?、掌握BMP文件格式,熟悉各參數(shù)和圖像數(shù)據(jù)的存放方式;2、通過編程實現(xiàn)對圖像內(nèi)容的讀取(到內(nèi)存中);3、完成圖像的顯示,掌握設(shè)備環(huán)境上下文(DC)的使用方式。4、對圖像進行二值化、求邊緣、增強等簡單處理。二、實驗儀器設(shè)備、工具及材料設(shè)備:多媒體計算機。軟件:Visual Studio 6.0及以上版本。材料:灰度圖像,24位真彩色圖像(均為非壓縮BMP格式)等。三、實驗內(nèi)容及步驟1、BMP文件格式BMP是Bitmap(位圖)的簡寫,是Windows操作系統(tǒng)

2、中的標準圖像文件格式。Windows 3.0以前的BMP圖文件格式與顯示設(shè)備有關(guān),稱為設(shè)備相關(guān)位圖DDB文件格式。Windows 3.0以后的BMP圖象文件與顯示設(shè)備無關(guān),因此稱為設(shè)備無關(guān)位圖DIB(device-independent bitmap)格式。BMP文件由4部分組成:位圖文件頭(BITMAP)、位圖信息頭(BITMAPINFOHEADER)、彩色表(RGBQUAD)和圖像數(shù)據(jù)陣列。對應(yīng)的數(shù)據(jù)結(jié)構(gòu)定義如下(來自MSDN)。typedef struct tagBITMAP WORD bfType; / , must be BM DWORD bfSize; / size (bytes)

3、 of the bitmap file WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; / offset (bytes) from this structure to the bitmap bits BITMAP;typedef struct tagBITMAPINFO BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors1; BITMAPINFO, *PBITMAPINFO; typedef struct tagRGBQUAD BYTE rgbBlue; BYTE rgbGreen;BYTE rg

4、bRed; BYTE rgbReserved; RGBQUAD;typedef struct tagBITMAPINFOHEADERDWORD biSize; / bytes required by the structureLONG biWidth; LONG biHeight;WORD biPlanes; / number of planes, must be 1WORD biBitCount; / number of bits-per-pixelDWORD biCompression;/ BI_RGB: uncompressedDWORD biSizeImage; / size(byte

5、s) of image, set to 0 for BI_RGB bitmapsLONG biXPelsPerMeter;/ horizontal resolutionLONG biYPelsPerMeter;/ vertical resolutionDWORD biClrUsed;DWORD biClrImportant; BITMAPINFOHEADER;自然界所有顏色都可由紅、綠、藍(R,G,B)組合而成。R/G/B各自分成256級,這種分級概念稱為量化,這樣就能表示256×256×256約1600萬種顏色,這對于人眼來說已經(jīng)足夠豐富了。對于顏色數(shù)遠遠少于1600萬種

6、的彩色圖,可以用一個表:表中的每一行記錄一種顏色的R、G、B值。這樣當我們表示一個象素的顏色時,只需要指出該顏色是在第幾行,即該顏色在表中的索引值。這張R、G、B的表,就是我們常說的調(diào)色板(Palette),另一種叫法是顏色查找表LUT(Look Up Table)。用R、G、B顏色表示所有的顏色叫做真彩色圖(true color)。表示真彩色圖時,每個象素直接用R、G、B三個分量字節(jié)表示,而不采用調(diào)色板技術(shù)。真彩色圖又叫做24位色圖。在Windows下,RGB顏色陣列存儲的格式其實BGR。而32位的RGB位圖像素數(shù)據(jù)格式是:藍色B值、綠色G值、紅色R值、透明通道A值。透明通道也稱Alpha通

7、道,該值是該像素點的透明屬性,取值在0(全透明)到255(不透明)之間。2、BMP文件加載加載文件的目的是要得到圖片屬性及RGB數(shù)據(jù),以便將其繪制在DC上。首先,加載文件頭:BITMAP header;(char*)&header,sizeof(header);然后,加載位圖信息頭:BITMAPINFOHEADER infoheader;(char*)&infoheader,sizeof(infoheader);這里我們得到了3各重要的圖形屬性:寬,高,以及每個像素顏色所占用的位數(shù)。接著,要考慮行對齊:由于Windows在進行行掃描的時候最小的單位為4個字節(jié),所以當圖片寬wid

8、th乘以每個像素的字節(jié)數(shù)不是4的整數(shù)倍時,要在每行的后面補0。需要通過下面的方法計算正確的數(shù)據(jù)長度:m_dwBytesPerLine = (m_pBmpInfoHead->biWidth) + 3) >> 2) << 2;/ 灰度m_dwBytesPerLine = (m_pBmpInfoHead->biWidth*3) + 3) >> 2) << 2;/ 24位真彩m_iImageDataSize = m_dwBytesPerLine * m_pBmpInfoHead->biHeight;最后,加載圖片數(shù)據(jù):對于24位和32位

9、的位圖文件,位圖數(shù)據(jù)的偏移量為sizeof(BITMAP) + sizeof(BITMAPINFOHEADER)也就是說現(xiàn)在可以直接讀取圖像數(shù)據(jù)了。m_pImageData = new unsigned charm_iImageDataSize;(char*) m_pPixelData, m_iImageDataSize );如果你足夠細心,就會發(fā)現(xiàn)內(nèi)存m_pPixelData里的數(shù)據(jù)的確是BGR格式,可以用個純藍色或者是純紅色的圖片測試一下。3、BMP文件顯示下面是一段GDI繪制代碼(一般可在OnDraw函數(shù)中實現(xiàn)),僅作參考。對于有調(diào)色板的圖像:CPalette * pOldPal = p

10、DC->SelectPalette( m_pPal, 1 );:SetStretchBltMode( pDC->m_hDC, COLORONCOLOR );:SetDIBitsToDevice( pDC->m_hDC, 0, 0, m_pBmpInfoHead->biWidth,m_pBmpInfoHead->biHeight, 0, 0, 0, m_pBmpInfoHead->biHeight,m_pPixelData, (LPBITMAPINFO)m_pBmpInfoHead, DIB_RGB_COLORS );pDC->SelectPalette

11、( pOldPal, 1 );如果沒有調(diào)色板::SetStretchBltMode( pDC->m_hDC, COLORONCOLOR );:SetDIBitsToDevice( pDC->m_hDC, 0, 0, m_pBmpInfoHead->biWidth,m_pBmpInfoHead->biHeight, 0, 0, 0, m_pBmpInfoHead->biHeight,m_pPixelData, (LPBITMAPINFO)m_pBmpInfoHead, DIB_RGB_COLORS );4、圖像處理此處,我們僅對灰度圖像進行簡單的處理,可以在二值化、求邊緣和圖像增強之中選擇一到兩個進行嘗試。二值化:設(shè)定一個閾值(比如128),逐一檢查每個像素的值,大于等于這個值的像素被設(shè)為255,小于這個閾值的像素被設(shè)為0。就會出現(xiàn)一個二值化的結(jié)果。求邊緣:簡單的求邊緣算法是對圖像中每個像素(最邊緣的像素可不考慮)進行二維卷積運算,可以采用Sobel算

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論