vc++圖象處理教程

vc++圖象處理教程

ID:22636402

大?。?.17 MB

頁數(shù):175頁

時(shí)間:2018-10-30

vc++圖象處理教程_第1頁
vc++圖象處理教程_第2頁
vc++圖象處理教程_第3頁
vc++圖象處理教程_第4頁
vc++圖象處理教程_第5頁
資源描述:

《vc++圖象處理教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、第1章Windows位圖和調(diào)色板1.1位圖和調(diào)色板的概念如今Windows(3.x以及95,98,NT)系列已經(jīng)成為絕大多數(shù)用戶使用的操作系統(tǒng),它比DOS成功的一個(gè)重要因素是它可視化的漂亮界面。那么Windows是如何顯示圖象的呢?這就要談到位圖(bitmap)。我們知道,普通的顯示器屏幕是由許許多多點(diǎn)構(gòu)成的,我們稱之為象素。顯示時(shí)采用掃描的方法:電子槍每次從左到右掃描一行,為每個(gè)象素著色,然后從上到下這樣掃描若干行,就掃過了一屏。為了防止閃爍,每秒要重復(fù)上述過程幾十次。例如我們常說的屏幕分辨率為640×480,刷新頻率為70Hz,意思是說每行要掃描640個(gè)

2、象素,一共有480行,每秒重復(fù)掃描屏幕70次。我們稱這種顯示器為位映象設(shè)備。所謂位映象,就是指一個(gè)二維的象素矩陣,而位圖就是采用位映象方法顯示和存儲(chǔ)的圖象。舉個(gè)例子,圖1.1是一幅普通的黑白位圖,圖1.2是被放大后的圖,圖中每個(gè)方格代表了一個(gè)象素。我們可以看到:整個(gè)骷髏就是由這樣一些黑點(diǎn)和白點(diǎn)組成的。圖1.1???骷髏圖1.2????放大后的骷髏位圖那么,彩色圖是怎么回事呢?我們先來說說三元色RGB概念。我們知道,自然界中的所有顏色都可以由紅、綠、藍(lán)(R,G,B)組合而成。有的顏色含有紅色成分多一些,如深紅;有的含有紅色成分少一些,如淺紅。針對(duì)含有紅色成分的

3、多少,可以分成0到255共256個(gè)等級(jí),0級(jí)表示不含紅色成分;255級(jí)表示含有100%的紅色成分。同樣,綠色和藍(lán)色也被分成256級(jí)。這種分級(jí)概念稱為量化。這樣,根據(jù)紅、綠、藍(lán)各種不同的組合我們就能表示出256×256×256,約1600萬種顏色。這么多顏色對(duì)于我們?nèi)搜蹃碚f已經(jīng)足夠豐富了。表1.1????常見顏色的RGB組合值顏色RGB紅25500藍(lán)02550綠00255黃2552550紫2550255青0255255白255255255黑000灰128128128你大概已經(jīng)明白了,當(dāng)一幅圖中每個(gè)象素賦予不同的RGB值時(shí),能呈現(xiàn)出五彩繽紛的顏色了,這樣就形成了

4、彩色圖。的確是這樣的,但實(shí)際上的做法還有些差別。讓我們來看看下面的例子。有一個(gè)長(zhǎng)寬各為200個(gè)象素,顏色數(shù)為16色的彩色圖,每一個(gè)象素都用R、G、B三個(gè)分量表示。因?yàn)槊總€(gè)分量有256個(gè)級(jí)別,要用8位(bit),即一個(gè)字節(jié)(byte)來表示,所以每個(gè)象素需要用3個(gè)字節(jié)。整個(gè)圖象要用200×200×3,約120k字節(jié),可不是一個(gè)小數(shù)目呀!如果我們用下面的方法,就能省的多。因?yàn)槭且粋€(gè)16色圖,也就是說這幅圖中最多只有16種顏色,我們可以用一個(gè)表:表中的每一行記錄一種顏色的R、G、B值。這樣當(dāng)我們表示一個(gè)象素的顏色時(shí),只需要指出該顏色是在第幾行,即該顏色在表中的索引

5、值。舉個(gè)例子,如果表的第0行為255,0,0(紅色),那么當(dāng)某個(gè)象素為紅色時(shí),只需要標(biāo)明0即可。讓我們?cè)賮碛?jì)算一下:16種狀態(tài)可以用4位(bit)表示,所以一個(gè)象素要用半個(gè)字節(jié)。整個(gè)圖象要用200×200×0.5,約20k字節(jié),再加上表占用的字節(jié)為3×16=48字節(jié).整個(gè)占用的字節(jié)數(shù)約為前面的1/6,省很多吧?這張R、G、B的表,就是我們常說的調(diào)色板(Palette),另一種叫法是顏色查找表LUT(LookUpTable),似乎更確切一些。Windows位圖中便用到了調(diào)色板技術(shù)。其實(shí)不光是Windows位圖,許多圖象文件格式如pcx、tif、gif等都用到了

6、。所以很好地掌握調(diào)色板的概念是十分有用的。有一種圖,它的顏色數(shù)高達(dá)256×256×256種,也就是說包含我們上述提到的R、G、B顏色表示方法中所有的顏色,這種圖叫做真彩色圖(truecolor)。真彩色圖并不是說一幅圖包含了所有的顏色,而是說它具有顯示所有顏色的能力,即最多可以包含所有的顏色。表示真彩色圖時(shí),每個(gè)象素直接用R、G、B三個(gè)分量字節(jié)表示,而不采用調(diào)色板技術(shù)。原因很明顯:如果用調(diào)色板,表示一個(gè)象素也要用24位,這是因?yàn)槊糠N顏色的索引要用24位(因?yàn)榭偣灿?24種顏色,即調(diào)色板有224行),和直接用R,G,B三個(gè)分量表示用的字節(jié)數(shù)一樣,不但沒有任何便

7、宜,還要加上一個(gè)256×256×256×3個(gè)字節(jié)的大調(diào)色板。所以真彩色圖直接用R、G、B三個(gè)分量表示,它又叫做24位色圖。1.2bmp文件格式介紹完位圖和調(diào)色板的概念,下面就讓我們來看一看Windows的位圖文件(.bmp文件)的格式是什么樣子的。bmp文件大體上分成四個(gè)部分,如圖1.3所示。位圖文件頭BITMAPFILEHEADER位圖信息頭BITMAPINFOHEADER調(diào)色板Palette實(shí)際的位圖數(shù)據(jù)ImageDate圖1.3????Windows位圖文件結(jié)構(gòu)示意圖第一部分為位圖文件頭BITMAPFILEHEADER,是一個(gè)結(jié)構(gòu),其定義如下:type

8、defstructtagBITMAPFILEHEAD

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。