版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1.BMP圖像的結(jié)構(gòu)與顯示BMP文件是WWindowws操作系統(tǒng)統(tǒng)所推薦和支支持的圖像文文件格式,是是一種將內(nèi)存存或顯示器的的圖像數(shù)據(jù)不不經(jīng)過壓縮而而直接按位存存盤的文件格格式,所以稱稱為位圖(bbitmapp)文件,因因其文件擴展展名為BMPP,故稱為BBMP文件格格式,簡稱BBMP文件。BBMP圖像文文件被分成44個部分:位位圖文件頭(BBitmapp Filee Headder)、位位圖信息頭(BBitmapp Infoo Headder)、顏顏色表(Coolor MMap)和位位圖數(shù)據(jù)(即即圖像數(shù)據(jù),DData BBits或DData BBody)。為了實現(xiàn)BMPP圖像的各種種處理(如
2、顯顯示 ,平滑滑 ,銳化等等),我們必必須清楚BMMP 圖像文文件的組成 ,下面將詳詳細(xì)介紹一下下BMP 圖圖像的文件格格式。1.1 BMPP圖像的文件件格式BMP圖像文件件由文件頭、文文件信息頭、調(diào)調(diào)色板和圖像像數(shù)據(jù)組成。(1)文件頭 文件頭頭是一個結(jié)構(gòu)構(gòu) ,長度為為 14 個個字節(jié) ,各各組成部分如如下:WORD bfTyppe / 2 個個字節(jié)表示文文件類型 ,其值為“BMDWORD bfSizze / 4 個個字節(jié)表示文文件的大小。WORD bfResservedd1 / 2 個個字節(jié)保留 ,其值為 0。WORD bfResservedd1 / 2 個個字節(jié)保留 ,其值為 0。DWOR
3、D bfOfffBits / 4 個個字節(jié)表示第第一個像素的的偏移量由文件頭可以獲獲得該文件型型、小及第一一個像素的偏偏移地址。(2)文件信息息頭文件信息頭也是是一個結(jié)構(gòu)體體,長度為440個字節(jié),各各組成部分如如下:DWORLD biSiize / 4個字節(jié)節(jié)存放文件信信息頭的長度度,其值為440。LONG bbiWidtth / 4個字字節(jié)存放位圖圖的寬度。LONG bbiHeigght / 4個字字節(jié)存放位圖圖的高度。WORD bbiplannes / 2個字字節(jié)存放平面面的數(shù)目,其其值為1。WORD bbiBitccount /兩個字節(jié)節(jié)存放每個像像素所占的位位數(shù),其值可可以是1,44,
4、8,244等。DWORD biCommpresssion / 4個字節(jié)指指定位圖是否否壓縮,其值值可以是常值值BI_RGGB,BI_RLE8,BI_RLLE4等。如如果沒有壓縮縮則為BI_RGB(即即0)。DWORD biSizzeImagge / 4個字節(jié)表表示位圖的實實際大小。LONG bbiXPellsPerMMeter / 4個字節(jié)節(jié)指定目標(biāo)設(shè)設(shè)備的水平分分辨率,通常常不用將其設(shè)設(shè)為0。LONG bbiYPellsPerMMeter / 4個字節(jié)節(jié)指定目標(biāo)設(shè)設(shè)備的垂直分分辨率,通常常不用將其設(shè)設(shè)為0。DWORD biClrrUsed / 4個字節(jié)指指定圖像實際際用到的顏色色數(shù),若使用用
5、所有顏色則則值為0。DWORD biClrrImporrtant / 4個字字節(jié)指定圖像像中重要的顏顏色數(shù),若全全部重要則值值為0。由文件信息頭可可以獲得有關(guān)關(guān)位圖的詳細(xì)細(xì)信息,位圖圖的實際大小小并不等于bbiWidtth和biHHeightt的乘積。因因為在保存位位圖時要求每每一行的字?jǐn)?shù)數(shù)必須是4的的整數(shù)倍,如如果不是,則則需要補齊。(3) 顏色表表顏色表實際上是是一個RGBBQUAD結(jié)結(jié)構(gòu)的數(shù)組,數(shù)數(shù)組的長度由由biClrrUsed指指定(如果該該值為零,則則由biBiitCounnt指定,即即2的biBBitCouunt次冪個個元素)。RRGBQUAAD結(jié)構(gòu)是一一個結(jié)構(gòu)體類類型,占4個個
6、字節(jié),其定定義如下:BYTE rrgbRedd /紅紅色分量BYTE rrgbGreeen /綠綠色分量BYTE rrgbBluue /藍(lán)藍(lán)色分量BYTE rrgbResservedd /保保留位有些位圖需要顏顏色表;有些些位圖(如真真彩色圖)則則不需要顏色色表,顏色表表的長度由BBITMAPPINFOHHEADERR結(jié)構(gòu)中biiBitCoount分量量決定。對于于biBittCountt值為1的二二值圖像,每每像素占1bbit,圖像像中只有兩種種(如黑白)顏顏色,顏色表表也就有211=2個表項項,整個顏色色表的大小為為2*sizzeof(RRGBQUAAD)=2*4=8個字字節(jié);對于bbiB
7、itCCount值值為8的灰度度圖像,每像像素占8biit,圖像中中有28=256種種顏色,顏色色表也就有2256個表項項,且每個表表項的R、GG、B分量相相等,整個顏顏色表的大小小為256*sizeoof(RGBBQUAD)=256*4=10224個字節(jié);而對于biiBitCoount=224的真彩色色圖像,由于于每像素3個個字節(jié)中分別別代表了R、GG、B三分量量的值,此時時不需要顏色色表,因此真真彩色圖的BBITMAPPINFOHHEADERR結(jié)構(gòu)后面直直接就是位圖圖數(shù)據(jù)。(4)位圖數(shù)據(jù)據(jù) 緊跟在在顏色表之后的的是圖像數(shù)據(jù)據(jù)字節(jié)陣列,即圖像數(shù)據(jù)據(jù),記錄了圖圖像的每一個個像素值。對對于有顏色
8、表表的位圖,位位圖數(shù)據(jù)就是是該像素顏色色在調(diào)色板中中的索引值;對于真彩色色圖,位圖數(shù)數(shù)據(jù)就是實際際的R、G、BB值(三個分分量的存儲順順序是B、GG、R)。相相應(yīng)地,對于于2色圖象,用用1位表示顏顏色,因此一一個字節(jié)表示示8個像素;對于16色色圖象,用44位表示一個個像素的顏色色,一個字節(jié)節(jié)表示2個像像素;對于2256色圖象象,用8位表表示一個像素素的顏色,一一個字節(jié)只表表示1個像素素。圖像的每每一掃描行由由表示圖像的的像素的連素素字節(jié)組成,每每一行的字節(jié)節(jié)數(shù)取決于圖圖像的顏色數(shù)數(shù)目和用像素素表示的圖像像寬度。掃描描行是由底向向上存儲的,這這就是說,陣陣列中的每一一個字節(jié)表示示位圖左下角角的像
9、素,而而最后一個字字節(jié)表示位圖圖右上角的像像素。1.2 BMPP圖象文件顯顯示在VC+的的的應(yīng)用程序中中顯示圖像 ,通常有兩兩種方法。一一種方法是在在應(yīng)用程序中中加入固定的的位圖,為該該圖指定IDD,使用靜態(tài)態(tài)圖片控件或或ActivveX控件來來顯示圖象。另另一種方法是是使用位圖類類Cbitmmap,利用用LoadIImage函函數(shù)動態(tài)地從從系統(tǒng)盤的文文件中載入位位圖圖像 ,將載入的圖圖像句柄和CCbitmaap類相關(guān)連連。使用BiitBlt函函數(shù)把位圖拷拷貝到能夠顯顯示圖像的設(shè)設(shè)備場境中。設(shè)設(shè)備場境中包包含有關(guān)于系系統(tǒng)、應(yīng)用程程序和繪圖窗窗口的信息。我我們還可以使使用 StrretchBBl
10、t 函數(shù)數(shù)拷貝圖像 ,并調(diào)整圖圖像的大小 ,使之適合合在特定的設(shè)設(shè)備場境中顯顯示。各函數(shù)數(shù)的用法如下下所示:HBITMAPP hbiitmap;/*加載BMPP文件,fiilenamme為BMPP文件名*/Hbitmapp=(HBIITMAP):LoaadImagge(AfxxGetInnstancceHanddle(),filenname,IIMAGE_BITMAAP,0,00,LR_LLOADFRROMFILLE|LR_CREATTEDIBSSECTIOON);/*Bitmaap為Cbiitmap類類的一個對象象,實現(xiàn)圖象象句柄和類相相關(guān)連*/Bitmap.Attacch(hbiitmap
11、);/*拷貝位圖到到屏幕*/BitBlt(10,100,widtth,heiight,&dc,0,0,SRCCCOPY);/*拷貝圖象并并調(diào)整顯示大大小*/StrwtchhBlt(110,10,Rwidtth,Rheeight,&dc,wwidth,heighht,SRCCCOPY);實際上,由BMMP圖象文件件格式可以很很方便地從文文件中讀出各各部分信息,在在獲得調(diào)色板板和圖象數(shù)據(jù)據(jù)后,利用SSetDIBBitsTooDevicce函數(shù)或SStrechhDIBitts函數(shù)來顯顯示圖象或打打印圖象。2顏色表的修修改2.1 RGBB模型RGB模式是基基于自然界中中3種基色光光的混合原理理,將R、
12、GG、B三種基基色按照從00(黑)到2255(白色色)的亮度值值在每個色階階中分配,從從而指定其色色彩,當(dāng)不同同亮度的基色色混合后共產(chǎn)產(chǎn)生=1677772166種顏色。在在理想條件下下,加色原理理R+G=YY,R+B=M,G+BB=C。當(dāng)33種基色的亮亮度值相等時時,產(chǎn)生灰色色,當(dāng)3種亮亮度值都是2255時,產(chǎn)產(chǎn)生純白色;而當(dāng)所有亮亮度值都是00時,產(chǎn)生純純黑色。當(dāng)33種色光混合合生成的顏色色一般比原來來的顏色亮度度值高,所以以RGB模式式產(chǎn)生顏色的的方法又被稱稱為加色混合合。2.2 顏色表表的修改一幅圖像有眾多多的事物,為為了按照人們們的意愿,傳傳達(dá)某種信息息,突出自己己最想表達(dá)的的信息,可
13、以以用色彩來完完成!那么,在在我們的圖像像中如何完成成這樣的任務(wù)務(wù)呢?256色的BMMP格式的圖圖像是有顏色色表的。顏色色表分R,GG,B三種基基色。首先,我我們應(yīng)該把顏顏色表找到并并提取出來。根根據(jù)BMP圖圖像數(shù)據(jù)存儲儲的特點,我我們很容易找找到顏色表。找找到顏色表之之后,按照我我們的需要,我我們所想表達(dá)達(dá)突出的色彩彩就可以通過過修改顏色表表的R,G,B三基色的的值來完成。將將三基色提取取出來,并恰恰當(dāng)?shù)母娜?到到255間的的值的大小,使使得某種顏色色變得突出,以以來表達(dá)我們們想要突出的的色彩!例如如我們想使花花變的更紅一一些,我們就就可以適當(dāng)?shù)牡脑黾覴基色色在0到2555間的值,
14、減減小G,B兩兩種基色的大大小,也就是是改變G、BB基色在0到到255間的的值,那么紅紅色的像素點點就會增加紅紅的級數(shù),這這樣就會使圖圖像的紅色更更加突出。同同理,適當(dāng)增增加G基色在在0到2555間的值,減減小R,B兩兩種基色在00到255間間的值,綠色色的像素點也也就相應(yīng)的增增加了級數(shù),那那么就可以使使圖像的綠色色更加突出。例例如在一幅春春天草地的圖圖像中,增加加G基色的級級數(shù),就可以以使小草顯得得生機勃勃,以以表達(dá)春意盎盎然的景象和和情感,完成成我們的表達(dá)達(dá)重點了!我們更改了2556色的BMMP格式的顏顏色表,讓原原有的圖像的的某種顏色更更加突出,來來實現(xiàn)我們所所需要的色彩彩的突出。我我們
15、更改某種種基色,或者者更改幾種基基色,即重新新給某種基色色在0到2555間賦值,使使得圖像的像像素都隨之適適當(dāng)變化,達(dá)達(dá)到我們所需需的效果。3實驗結(jié)果與與分析 以5112*5122的256色色圖像進(jìn)行結(jié)結(jié)果的驗證分分析。程序運運行結(jié)果圖如如下:圖1 原圖圖2 原圖的顏色表圖1 原圖圖2 原圖的顏色表圖4 藍(lán)色突出效果圖3修改顏色表對話框圖4 藍(lán)色突出效果圖3修改顏色表對話框圖5藍(lán)色效果顏色表圖5藍(lán)色效果顏色表圖1為程序運行行打開的原圖圖,圖2為程程序運行獲得得的顏色表。圖圖3 為修改改顏色表的對對話框,這次次修改顏色表表目的是突出出藍(lán)色效果,變變化后的結(jié)果果為圖4。圖圖5為修改顏顏色表突出藍(lán)藍(lán)色效果后,獲獲得的顏色表表,在這幅顏顏色表截圖中中可以很明顯顯的看到顏色色表中藍(lán)色的的顏色條增加加了許多。同理可獲得綠色色和紅色的突突出效果。如如圖6,圖77,圖8,圖圖9所示。圖7 綠色效果顏色表圖6 綠色突出效果圖7 綠色效果顏色表圖6 綠色突出效果圖9 紅色效果顏色表圖8 紅色突出效果4.總結(jié)圖9 紅色效果顏色表圖8 紅色突出效果本文討論了基于于VC+66.0集成開開發(fā)環(huán)境,打打開一幅2556色BMPP圖像,通過過修改其顏色色表獲得相應(yīng)應(yīng)的顏色突出出效果。本文文對BMP圖圖像的結(jié)構(gòu)特特點和顯示做做了簡單的介介紹,著重于于顏色表的修修改。本次的的實現(xiàn),方
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 附件:1.1521項擬繼續(xù)有效行業(yè)標(biāo)準(zhǔn)復(fù)審結(jié)論-表(征求意見稿)
- 石河子大學(xué)《藥物波譜解析》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《食品包裝學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《計算機網(wǎng)絡(luò)基礎(chǔ)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《弱信號檢測技術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《建筑節(jié)能》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《過程控制系統(tǒng)與儀表》2021-2022學(xué)年期末試卷
- 沈陽理工大學(xué)《電鍍工藝》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《環(huán)境工程概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 合同產(chǎn)值申報
- 建筑工程項目管理咨詢招標(biāo)(范本)
- 三位數(shù)除兩位數(shù)的除法練習(xí)題
- 慢性胃炎的中醫(yī)治療培訓(xùn)課件
- Python程序設(shè)計課件第7章面向?qū)ο蟪绦蛟O(shè)計
- 最新爆破安全規(guī)程
- 主題班會課防盜
- 幼兒園課件《撓撓小怪物》
- 教師教案檢查八大評分標(biāo)準(zhǔn)教案的評分標(biāo)準(zhǔn)
- 政府會計基礎(chǔ)知識講義
- 幼兒園整合式主題活動設(shè)計案例《溫馨家園》
- 荒漠區(qū)生態(tài)治理(麥草沙障、植物固沙)施工方案
評論
0/150
提交評論