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

正文內(nèi)容

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

2024-12-18 15:02 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 要,因此選擇合適的語(yǔ)言進(jìn)行算法的描述顯得尤為重要。本文選擇 Visual C++,其主要優(yōu)勢(shì)在于以下三個(gè)方面: ( 1)執(zhí)行效率高。 C++的執(zhí)行代碼經(jīng)過(guò)編譯后生成的是匯編語(yǔ)言,它可以直接在處理器上運(yùn)行,因此它的執(zhí)行效率較高。 ( 2)較高的靈活度。指針是 C++的一種特殊的數(shù)據(jù)類型,能夠獲取和直接操縱地址,實(shí)現(xiàn)動(dòng)態(tài)存儲(chǔ)分配內(nèi)存。掌握指針就能更有效地使用內(nèi)存空間, C++中指 8 針的使用,很大幅度上提高了編程的靈活度。 ( 3)提高了內(nèi)存使用效率。對(duì)于圖形圖像數(shù)據(jù)的處理而言,大量信息的圖像數(shù)據(jù)處理需要占用較大的內(nèi)存,而計(jì)算機(jī)內(nèi)存是有限的。在相對(duì)有限的內(nèi)存空間,必須更有效的使用才能比較好地完成數(shù) 據(jù)處理運(yùn)算。由于 C++語(yǔ)言支持對(duì)內(nèi)存的直接分配和釋放,提高了內(nèi)存的使用效率,也大大提高了圖像處理效率。 2 數(shù)字圖像處理的簡(jiǎn)介 什么是數(shù)字圖像 簡(jiǎn)單地說(shuō),數(shù)字圖像就是能夠在計(jì)算機(jī)上顯示和處理的圖像,根據(jù)其特性可以分為兩大類 —— 位圖和矢量圖。位圖通常使用數(shù)字陣列來(lái)表示,常見格式有 BMP、JPG、 GIF 等;矢量圖由矢量數(shù)據(jù)庫(kù)表示。我們接觸的最多的就是 PNG 圖形。 我們可以將一幅圖像視為一個(gè)二維函數(shù) f( x, y),其中 x 和 y 是空間坐標(biāo),而在 xy 平面中的任意一對(duì)空間坐標(biāo)( x, y)上的幅值 f 稱為該點(diǎn)圖像的灰度 、亮度或強(qiáng)度。此時(shí),如果 f、 x、 y 均為非負(fù)有限離散,則稱該圖像為數(shù)字圖像(位圖)。 一個(gè)大小為 M N 的數(shù)字圖像是由 M 行 N 列的有限元素組成的,每個(gè)元素都有特定的位置和幅值,代表了其所在行列位置上的圖像物理信息,如灰度和色彩等。這些元素稱為圖像元素或像素。 數(shù)字圖像的顯示 不論是 CRT 顯示器還是 LCD 顯示器,都是由許多點(diǎn)構(gòu)成的,顯示圖像時(shí)這些點(diǎn)對(duì)應(yīng)圖像的像素,顯示器被稱為位映像設(shè)備。所謂位映像,就是一個(gè)二維的像素矩陣,而位圖則采用位映像方法顯示和存儲(chǔ)的圖像。當(dāng)一幅數(shù)字圖像被放大后就可以明顯看出圖像是由很多 方格形狀的像素構(gòu)成的。 數(shù)字圖像的分類 根據(jù)每個(gè)像素所代表信息的不同,可將圖像分為二值圖像、灰度圖像、 RGB 圖像以及索引圖像等。 ( 1)二值圖像 每個(gè)像素只有黑、白兩種顏色的圖像稱為二值圖像。在二值圖像中,像素只有0和 1兩種取值,一般用 0來(lái)表示黑色,用 1表示白色。 9 ( 2)灰度圖像 在二值圖像中進(jìn)一步加入許多介于黑色和白色之間的顏色深度,就構(gòu)成了 灰度圖像。這類圖像通常顯示為從最暗黑色到最亮的白色的灰度,每種灰度(顏色深度)成為一個(gè)灰度級(jí),通常用 L 表示。在灰度圖像中,像素可以取 0~L— 1 之間的整數(shù)值,根 據(jù)保存灰度數(shù)值所使用的數(shù)據(jù)類型的不同,可能有 256種取值或者 k2種取值,當(dāng) k=1 時(shí)即退化為二值圖像。 ( 3) RGB 圖像 眾所周知,自然界中幾乎所有顏色都可以由紅( Red, R) 、綠( Green, G) 、藍(lán)( Blue, B) 3 種顏色組合而成,通常稱它們?yōu)?RGB 三原色。計(jì)算機(jī)顯示彩色圖像時(shí)采用最多的就是 RGB 模型。對(duì)于每個(gè)像素,通過(guò)控制 R、 G、 B 三原色的合成比例則可決定該像素的最終顯示顏色。 對(duì)于三原色 RGB 中的每一種顏色,可以像灰度圖那 樣使用 L 個(gè)等級(jí)來(lái)表示含有這種顏色成分的多少。例如對(duì)于含有 256 個(gè)等級(jí)的紅色, 0 表示不含紅色成分,255表示含有 100%的紅色成分。同樣綠色和藍(lán)色也可以劃分為 256 個(gè)等級(jí)。這樣每種原色可以用 8位二進(jìn)制數(shù)據(jù)表示,于是 3 原色總共需要 24 位二進(jìn)制數(shù),這樣能夠表示出的顏色種類數(shù)目為 256 256 256=242 ,大約有 1600 萬(wàn)種,已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)普通人所能分辨出的顏色數(shù)目。 未經(jīng)壓縮的原始 BMP 文件就是使用 RGB 標(biāo)準(zhǔn)給出的 3 個(gè)數(shù)值來(lái)存儲(chǔ)圖像數(shù) 據(jù)的,稱為 RGB 圖像。在 RGB 圖像中每個(gè)像素都是用 24 位二進(jìn)制數(shù)表示,故也稱為 24 位真色彩圖像。 ( 4)索引圖像 如果對(duì)每個(gè)像素都直接使用 24位二進(jìn)制數(shù)表示,圖像文件的體積將變得十分龐大。舉個(gè)例子,對(duì)一個(gè)長(zhǎng)、寬各為 200 像素,顏色數(shù)為 16 的彩色圖像,每個(gè)像素都用 RGB 3 個(gè)分量表示,這樣每個(gè)像素由 3 個(gè)字節(jié)表示,整個(gè)圖像就是200 200 3=120kB。這種完全未經(jīng)壓縮的表達(dá)方式,浪費(fèi)了大量的存儲(chǔ)空間,下面介紹一種更節(jié)省空間的存儲(chǔ)方式:索引圖像。 同樣還是 200 像素 200 像素的 16 色圖像,由于這張圖片中最 多只有 16 種顏色,那么可以使用一張顏色表 (16 3的二維數(shù)組 )保存這 16種顏色對(duì)應(yīng)的 RGB 值, 10 在表示圖像的矩陣中使用這 16種顏色在顏色表中的索引(偏移量 ) 作為數(shù)據(jù)寫入相應(yīng)的行列位置。 3 VC++的圖像處理簡(jiǎn)介 位圖文件及其 C++操 作 Windows 操作系統(tǒng)中使用最多的圖形文件格式就是位圖格式,最常見的位圖文件的擴(kuò)展名為 BMP。 BMP 是英文 Bitmap(位圖)的簡(jiǎn)寫,這種格式的特點(diǎn)是包含的圖像信息較豐富,幾乎不進(jìn)行壓縮,因此占用的磁盤空間較大。 設(shè)備無(wú)關(guān)位圖 以后的 BMP 位圖文件格式與顯示設(shè)備無(wú)關(guān),因此把這種 BMP 位圖文件稱為設(shè)備無(wú)關(guān)位圖( device independent bitmap, DIB)。 DIB 自帶顏色信息,因此調(diào)色板管理非常簡(jiǎn)單?,F(xiàn)在,任何 Windows 操作系統(tǒng)的計(jì)算機(jī)都能夠顯示和處理 DIB,它通常以 BMP 文件的形式被把保存在磁盤中。 BMP 圖像文件數(shù)據(jù)結(jié)構(gòu) 典型的 BMP 圖像文件由以下 4 部分組成,如圖 所示。 ( 1)位圖文件頭數(shù)據(jù)結(jié)構(gòu) BITMAPFILEHEADER,包含 BMP 圖像文件的類型、顯示內(nèi)容等信息。 ( 2)位圖信息頭數(shù)據(jù)結(jié)構(gòu) BITMAPINFOHEADER,包含有 BMP 圖像的寬、高、壓縮方法以及定義顏色等信息。 ( 3)調(diào)色板,即顏色索引表。 ( 4)實(shí)際的位圖數(shù)據(jù)。 1.位圖文件 BITMAPFILEHEADER 結(jié)構(gòu) 位圖文件頭 BITMAPFILEHEADER 的定義可以再 MFC Library 中找到,這部分文件頭包含了文件的類型、大小以及設(shè)備無(wú)關(guān)位圖的圖像文件布局。 11 單色 D IB 有 2 個(gè)表項(xiàng) 16 色 D IB 有 16 個(gè)表項(xiàng)或更少 256 色 D IB 有 256 個(gè)表項(xiàng)或更少 真彩色 D IB 沒有調(diào)色板 每個(gè)表項(xiàng)長(zhǎng)度為 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 結(jié)構(gòu)體長(zhǎng)度固定,為 14 字節(jié),其定義和描述如下: typedef struct tagBITMAPFILEHEADER{ WORD bfType。 DWORD bfSize。 WORD bfReserved1。 WORD bfReserved2。 DWORD bfOffBits。 }BITMAPFILEHEADER, *PBITMAPFILEHEADER; 各個(gè)域的說(shuō)明如下: 12 bfType:指定 文件類型,必須是 0x424D,即字符串“ BM”,也就是說(shuō)所有“ .bmp”文件的頭兩個(gè)字節(jié)都是“ BM”。 bfSize:指定文件大小,包括這 14 個(gè)字。 bfReserved1, bfReserved2:為保留字,不用考慮。 bfOffBits:為從文件頭到實(shí)際的位圖數(shù)據(jù)的偏移字節(jié)數(shù),即下圖中前三個(gè)部分的和。 2.位圖信息頭 BITMAPINFOHEADER 結(jié)構(gòu) BITMAPINFOHEADER 結(jié)構(gòu)體包含了設(shè)備無(wú)關(guān)位圖關(guān)于顏色維度和色彩格式的信息,其定義和描述如下: 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 該結(jié)構(gòu)的長(zhǎng)度也是固定的,為 40 個(gè)字節(jié)。各個(gè)域的說(shuō)明如下: biSize:指定這個(gè)結(jié)構(gòu)的長(zhǎng)度,為 40字節(jié)。 biWidth:指定圖像的寬度,單位是像素。 biHeight:指定圖像的高度,單位是像素。 biPlanes:必須是 1,不用考慮。 biBitCount:指定表示顏色時(shí)要用到的位數(shù),常用的值為 1(黑白二色圖)、 4( 16 13 色圖)、 8( 256 色)、 24(真彩色),新的“ .bmp”格式支持 32 位色,這里就不做討論了。 biCompression:指定位圖是否壓縮,有效的值為 BIRGB, BIRLE8, BIRLE4,BIBITFIELDS(都是 Windows 定義好的常量)。要說(shuō)明的是, Windows 位圖可以采用 RLE4 和 RLE8 的壓縮格式,但用的不多。今后所討論的只有第一種不壓縮的情況,即 biCompression 為 BIRGB 的情況。 biSizeImage:指定實(shí)際的位圖數(shù)據(jù)占用的字節(jié)數(shù)。 biXPelsPerMeter:指定目標(biāo)設(shè)備的水平分辨率,單位是像素 /米。 biYPelsPerMeter:指定目標(biāo)設(shè)備的垂直分辨率,單位 是像素 /米。 biClrUsed:指定本圖像實(shí)際用到的顏色數(shù),如果該項(xiàng)為 0,則用到的顏色數(shù)為2的 biCompression 次冪。 biClrImportant:指定本圖像中重要的顏色數(shù),如果該值為 0,則認(rèn)為所有的顏色都是重要的。 3.調(diào)色板結(jié)構(gòu) 有些位圖需要調(diào)色板,有些位圖,如真彩色圖,不需要調(diào)色板,它們的BITMAPINFOHEADER 后面直接是位圖數(shù)據(jù)。 調(diào)色板實(shí)際上是一個(gè)數(shù)組,共有 biClrUsed 個(gè)元素(如果該值為 0,則有 2 的biBitCount 次冪個(gè)元素)。數(shù)組中每個(gè)元素的類型是一個(gè) RGBQUAD 結(jié)構(gòu),占 4 個(gè)字節(jié),其定義如下: typedef struct tagRGBQUAD BYTE rgbBlue。 BYTE rgbGreen。 BYTE rgbRed。
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1