freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的圖像的幾何變換的實現(xiàn)畢業(yè)設計(編輯修改稿)

2025-04-03 10:55 本頁面
 

【文章內(nèi)容簡介】 黑色到最亮的白色的灰度,每種灰度(顏色深度)成為一個灰度級,通常用 L 表示。在灰度圖像中,像素可以取 0~L— 1 之間的整數(shù)值,根 據(jù)保存灰度數(shù)值所使用的數(shù)據(jù)類型的不同,可能有 256種取值或者 k2種取值,當 k=1 時即退化為二值圖像。 ( 3) RGB 圖像 眾所周知,自然界中幾乎所有顏色都可以由紅( Red, R) 、綠( Green, G) 、藍( Blue, B) 3 種顏色組合而成,通常稱它們?yōu)?RGB 三原色。計算機顯示彩色圖像時采用最多的就是 RGB 模型。對于每個像素,通過控制 R、 G、 B 三原色的合成比例則可決定該像素的最終顯示顏色。 對于三原色 RGB 中的每一種顏色,可以像灰度圖那 樣使用 L 個等級來表示含有這種顏色成分的多少。例如對于含有 256 個等級的紅色, 0 表示不含紅色成分,255表示含有 100%的紅色成分。同樣綠色和藍色也可以劃分為 256 個等級。這樣每種原色可以用 8位二進制數(shù)據(jù)表示,于是 3 原色總共需要 24 位二進制數(shù),這樣能夠表示出的顏色種類數(shù)目為 256 256 256=242 ,大約有 1600 萬種,已經(jīng)遠遠超過普通人所能分辨出的顏色數(shù)目。 未經(jīng)壓縮的原始 BMP 文件就是使用 RGB 標準給出的 3 個數(shù)值來存儲圖像數(shù) 據(jù)的,稱為 RGB 圖像。在 RGB 圖像中每個像素都是用 24 位二進制數(shù)表示,故也稱為 24 位真色彩圖像。 ( 4)索引圖像 如果對每個像素都直接使用 24位二進制數(shù)表示,圖像文件的體積將變得十分龐大。舉個例子,對一個長、寬各為 200 像素,顏色數(shù)為 16 的彩色圖像,每個像素都用 RGB 3 個分量表示,這樣每個像素由 3 個字節(jié)表示,整個圖像就是200 200 3=120kB。這種完全未經(jīng)壓縮的表達方式,浪費了大量的存儲空間,下面介紹一種更節(jié)省空間的存儲方式:索引圖像。 同樣還是 200 像素 200 像素的 16 色圖像,由于這張圖片中最 多只有 16 種顏色,那么可以使用一張顏色表 (16 3的二維數(shù)組 )保存這 16種顏色對應的 RGB 值, 10 在表示圖像的矩陣中使用這 16種顏色在顏色表中的索引(偏移量 ) 作為數(shù)據(jù)寫入相應的行列位置。 3 VC++的圖像處理簡介 位圖文件及其 C++操 作 Windows 操作系統(tǒng)中使用最多的圖形文件格式就是位圖格式,最常見的位圖文件的擴展名為 BMP。 BMP 是英文 Bitmap(位圖)的簡寫,這種格式的特點是包含的圖像信息較豐富,幾乎不進行壓縮,因此占用的磁盤空間較大。 設備無關位圖 以后的 BMP 位圖文件格式與顯示設備無關,因此把這種 BMP 位圖文件稱為設備無關位圖( device independent bitmap, DIB)。 DIB 自帶顏色信息,因此調(diào)色板管理非常簡單?,F(xiàn)在,任何 Windows 操作系統(tǒng)的計算機都能夠顯示和處理 DIB,它通常以 BMP 文件的形式被把保存在磁盤中。 BMP 圖像文件數(shù)據(jù)結構 典型的 BMP 圖像文件由以下 4 部分組成,如圖 所示。 ( 1)位圖文件頭數(shù)據(jù)結構 BITMAPFILEHEADER,包含 BMP 圖像文件的類型、顯示內(nèi)容等信息。 ( 2)位圖信息頭數(shù)據(jù)結構 BITMAPINFOHEADER,包含有 BMP 圖像的寬、高、壓縮方法以及定義顏色等信息。 ( 3)調(diào)色板,即顏色索引表。 ( 4)實際的位圖數(shù)據(jù)。 1.位圖文件 BITMAPFILEHEADER 結構 位圖文件頭 BITMAPFILEHEADER 的定義可以再 MFC Library 中找到,這部分文件頭包含了文件的類型、大小以及設備無關位圖的圖像文件布局。 11 單色 D IB 有 2 個表項 16 色 D IB 有 16 個表項或更少 256 色 D IB 有 256 個表項或更少 真彩色 D IB 沒有調(diào)色板 每個表項長度為 4 字節(jié)( 32 位) 像素按照每行每列的順序排列 每一行的字節(jié)數(shù)必須是 4 的整數(shù)倍 b i S i z e b i W i d t h b i H e i g h t b i P l a n e s b i Bit Co u n t b i Co m p re s s i o n b i S i z e Im a g e b i X P e l s P e rM e t e r b i Y P e l s P e rM e t e r b i ClrU s e d b i ClrIm p o rta n t b f T y p e = ” BM ” b f S i z e b f Re s e rv e d 1 b f Re s e rv e d 2 b f O f f Bit s BI TM A PF I LE H EA D ER 位圖文件頭 (只用于 BM P 文件) BI TM A PI N FO H EA D ER 位圖信息頭 Pa l e tt e 調(diào)色板 D I B Pi x e l s D I B 圖像數(shù)據(jù) 圖 BMP文件的組成 the position of BMP file BITMAPFILEHEADER 結構體長度固定,為 14 字節(jié),其定義和描述如下: typedef struct tagBITMAPFILEHEADER{ WORD bfType。 DWORD bfSize。 WORD bfReserved1。 WORD bfReserved2。 DWORD bfOffBits。 }BITMAPFILEHEADER, *PBITMAPFILEHEADER; 各個域的說明如下: 12 bfType:指定 文件類型,必須是 0x424D,即字符串“ BM”,也就是說所有“ .bmp”文件的頭兩個字節(jié)都是“ BM”。 bfSize:指定文件大小,包括這 14 個字。 bfReserved1, bfReserved2:為保留字,不用考慮。 bfOffBits:為從文件頭到實際的位圖數(shù)據(jù)的偏移字節(jié)數(shù),即下圖中前三個部分的和。 2.位圖信息頭 BITMAPINFOHEADER 結構 BITMAPINFOHEADER 結構體包含了設備無關位圖關于顏色維度和色彩格式的信息,其定義和描述如下: typedef struct tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; }BITMAPINFOHEADER, *PBITMAPINFOHEADER 該結構的長度也是固定的,為 40 個字節(jié)。各個域的說明如下: biSize:指定這個結構的長度,為 40字節(jié)。 biWidth:指定圖像的寬度,單位是像素。 biHeight:指定圖像的高度,單位是像素。 biPlanes:必須是 1,不用考慮。 biBitCount:指定表示顏色時要用到的位數(shù),常用的值為 1(黑白二色圖)、 4( 16 13 色圖)、 8( 256 色)、 24(真彩色),新的“ .bmp”格式支持 32 位色,這里就不做討論了。 biCompression:指定位圖是否壓縮,有效的值為 BIRGB, BIRLE8, BIRLE4,BIBITFIELDS(都是 Windows 定義好的常量)。要說明的是, Windows 位圖可以采用 RLE4 和 RLE8 的壓縮格式,但用的不多。今后所討論的只有第一種不壓縮的情況,即 biCompression 為 BIRGB 的情況。 biSizeImage:指定實際的位圖數(shù)據(jù)占用的字節(jié)數(shù)。 biXPelsPerMeter:指定目標設備的水平分辨率,單位是像素 /米。 biYPelsPerMeter:指定目標設備的垂直分辨率,單位 是像素 /米。 biClrUsed:指定本圖像實際用到的顏色數(shù),如果該項為 0,則用到的顏色數(shù)為2的 biCompression 次冪。 biClrImportant:指定本圖像中重要的顏色數(shù),如果該值為 0,則認為所有的顏色都是重要的。 3.調(diào)色板結構 有些位圖需要調(diào)色板,有些位圖,如真彩色圖,不需要調(diào)色板,它們的BITMAPINFOHEADER 后面直接是位圖數(shù)據(jù)。 調(diào)色板實際上是一個數(shù)組,共有 biClrUsed 個元素(如果該值為 0,則有 2 的biBitCount 次冪個元素)。數(shù)組中每個元素的類型是一個 RGBQUAD 結構,占 4 個字節(jié),其定義如下: typedef struct tagRGBQUAD BYTE rgbBlue。 BYTE rgbGreen。 BYTE rgbRed。 BYTE rgbReserved。 }RGBQUAD。 其中: rgbBlue:該顏色的藍色分量。 rgbGreen:該顏色的綠色分量。 14 rgbRed:該顏色的紅色分量。 rgbReserved:保留值。 4.實際位圖結構 實際位圖數(shù)據(jù)是一片連續(xù)的存儲區(qū)域,其中保存著圖像中每個像素的灰度 (顏色 ) 信息。對于 256 色灰度圖像,圖像數(shù)據(jù)就是該像素的實際灰度, 1 個像素需要 1個字節(jié)來表示;對于索引圖像,圖像數(shù)據(jù)就是該像素顏色在調(diào)色板中的索引值;而對于真色彩圖,圖像數(shù)據(jù)就是實際的 RGB值, 1 個像素需要 3 個字節(jié)來表示。 CImg 類 CImg 類的主要成員如表 所示。 CImg 類擁有兩個公有成員: BITMAPINFOHEADER *m_pBMIH。 LPBYTE *m_lpData。 其中, m_pBMIH 中保存的是圖像的信息頭,而 m_lpData 中保存實際的圖像數(shù)據(jù)。 CImg 類的主要成員如 表 表 CImg類的主要成員 the main members of CImg class 函數(shù)原型 功能 CImg()。 構造函數(shù) BOOL IsValidate()。 判斷位圖是否有效 Void InitPixel( BYTE color) 。 將所有像素的值初始化為灰度值 color BOOLAttachFromFile(LPCTSTRlpcPathName)。 BOOL AttachFromFile(CFile amp。 file)。 從文件加載位圖 BOOL SaveToFile(LPCTSTR lpcPathName)。 BOOL SaveToFile(CFile amp。 file)。 將位圖保存到文件 BOOL Draw(CDC*pDC)。 將位圖繪制到設備平面 void SetPixel(int y,COLORREF color)。 設置指定位置像素的值 15 函數(shù)原型 功能 COLORREF GetPixel(int x,int y)。 獲取指定位置像素的顏色值 BYTE GetGray9int x,int y)。 獲取指定位置像素的灰度值 int GetWidthByte()。 獲取圖像數(shù)據(jù)矩陣一行的字節(jié)數(shù) int GetWidthPixel()。 獲取圖像數(shù)據(jù)矩陣一行的像素數(shù) int GetHeight()。 獲取圖像數(shù)據(jù)矩陣的高度(行數(shù) ) void ImResize(int nHeight,int nWidth)。 改變位圖的尺寸 BOOL IsBinaryImg()。 判斷當前對象中存儲的是否為二值圖像 BOOL IsIndexedImg(void)。 判斷當前對象中存儲的是否為索引圖像 bool Index2Gray()。 256 色素引圖像轉(zhuǎn)灰度圖 像 LPVOID GetColorTable()。 取得顏色索引表數(shù)據(jù) 4 圖像的幾何變換 包含相同內(nèi)容的兩幅圖像可能由于成像角度、透視關系乃至鏡頭自身原因所造成的幾何失真而呈現(xiàn)出截然不同的外觀,這就給觀測者或是圖像識別程序帶來了困擾。通過適當?shù)膸缀巫儞Q可以最大程度地消除這些幾何失真所產(chǎn)生的負面影響,有利于我們在后續(xù)的處理和識別工作中將注意力集中于圖像內(nèi)容本身,更確切地說是圖像中的對象,而不是該對象的角度和位置等。因此,幾何變換常常作為其他圖像處理應用的預處理步驟。 解決幾何變換的一般思路 圖像 幾何變換又稱為圖像空間變換,它將一幅圖像中的坐標位置映射到另一幅圖像中的新坐標位置。我們學習幾何變換的關鍵就是要確定這種空間映射關系,以 16 及映射過程中的變換參數(shù)。 幾何變換不改變圖像的像素值,只是在圖像平面上進行像素的重新
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1