資源描述:
《matlab像素顏色的表達(dá)方式》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、MATLAB像素顏色的表達(dá)方式2009年05月13日星期三10:42MATLAB像素顏色的表達(dá)方式252249246243237255255250246243253254248245243250249245243239這些像素值表示什么顏色?如果你很熟悉圖像處理,那你應(yīng)該知道255表示白色,所以上面這些數(shù)字表示白色或者接近白色的顏色。但是實(shí)際上,這些數(shù)字并不是來(lái)自一張圖片。這些數(shù)字是波士頓地區(qū)的海拔高度,從U.S.GeologicalSurvey(USGS)。255是一個(gè)以米為單位的測(cè)量值,并不是顏色。MATLAB可以將任何矩陣以圖片的形式顯示出來(lái)。比如,根據(jù)你使
2、用命令的不同,MATLAB可以將數(shù)字海拔高度數(shù)據(jù)顯示為如下的圖?;蛘呤菍⒕仃嚢凑崭鞣N方式顯示為圖形,可以跟直觀的了解你的數(shù)據(jù)。通過(guò)理解不同的圖形類型,你可以知道MATLAB是如何將矩陣值轉(zhuǎn)化為像素值的。你可以控制MATLAB對(duì)數(shù)據(jù)的顯示方式,糾正有可能出錯(cuò)的圖形。圖形類型一種圖像類型即代表了一種從矩陣值到像素值的映射方式。MATLAB有三種基本的圖像類型:Truecolor——數(shù)碼相機(jī),廣泛用于計(jì)算機(jī)圖形。Indexed和scaledindexed——經(jīng)常用來(lái)顯示科學(xué)或者工程數(shù)據(jù),關(guān)聯(lián)的顏色比例代表數(shù)據(jù)單位?。ImageProcessingToolbox可以識(shí)別另
3、外兩種類型:Grayscale——經(jīng)常用在圖像處理和圖像分析算法中Binary——經(jīng)常用做為一個(gè)封裝來(lái)表示圖形的分割結(jié)果或者是感興趣的區(qū)域。TruecolorImages在這種格式的圖里,每一個(gè)圖形像素由三個(gè)數(shù)字表示:紅,綠,藍(lán),整個(gè)圖形在MATLAB里由一個(gè)M-N-3的三維矩陣表達(dá)。顯示函數(shù)和圖形處理工具箱將這種矩陣視為一個(gè)truecolor圖形。[真彩色]比如,我們構(gòu)造一個(gè)兩行-兩列的truecolor圖形,使上面的兩個(gè)像素為紅和藍(lán)色,下面的兩個(gè)像素為黃色和灰色。首先,構(gòu)造3個(gè)2-2的矩陣來(lái)代表每一個(gè)顏色組分。red=[10;10.7]green=[00;10
4、.7]blue=[01;00.7]然后,使用cat函數(shù)來(lái)將這些顏色成分矩陣在第三維上拼合起來(lái)。truecolor_image=cat(3,red,green,blue);最后,使用image函數(shù)顯示圖形:image(truecolor_image)axisequal%Displaytheimageusingsquarepixels可以看到,矩陣值直接指定了每一個(gè)像素的顏色。通過(guò)這種表達(dá)方式你可以很大程度上控制顏色顯示,但是對(duì)于工程技術(shù)應(yīng)用來(lái)說(shuō)它并不是最適合的一種圖形格式。Indexedimages索引圖像在索引圖像里,顏色矩陣的值并不直接決定顏色像素。MATLAB
5、將矩陣值作為索引在圖像的colormap中進(jìn)行顏色查表。比如,在MATLAB文件clown.mat中包含一下索引圖形:loadclownwhosName????????Size????????Bytes????ClassX??????????200x320??????512000???doublearraycaption??????2x1?????????????4???chararraymap?????????81x3??????????1944???doublearrayGrandtotalis64245elementsusing513948bytes變量X中
6、包括了查表索引,map中包括了對(duì)應(yīng)的colormap。兩者都會(huì)直接用于圖像顯示。(5,5)像素點(diǎn)上的顏色,對(duì)應(yīng)于X(5,5)的值:X(5,5)ans=???61這個(gè)值作為colormap重大行索引值:map(61,:)ans=???0.99610.57810.1250像素(5,5)處由很多紅色,一些綠色和一點(diǎn)藍(lán)色構(gòu)成。使用兩個(gè)MATLAB命令顯示這幅圖,一個(gè)用來(lái)顯示圖形同時(shí)另一個(gè)用來(lái)指定圖像的colormap。image(X)colormap(map)colormap(cool)跟truecolor圖像不同的是,indexed圖像的顯示因使用不同的colormap
7、而不同。索引圖像在15年前很常用,當(dāng)時(shí)大部分顏色圖形最多只能同時(shí)顯示256種顏色。而現(xiàn)在可以使用不同顏色比例來(lái)顯示數(shù)據(jù)。因?yàn)樗饕龍D像的值必須是整數(shù),所以比例索引圖像就具有更多靈活性。Scaledindexedimages比例索引圖像和一半的索引圖像類似,比例索引圖像使用矩陣值在圖像的colormap中進(jìn)行查表。而不同之處在于,矩陣值進(jìn)行線性縮放而形成查表索引值。比如,現(xiàn)在使用image命令來(lái)顯示一個(gè)小的magic陣接著將它與imagese來(lái)對(duì)比。A=magic(5)A=17??24???1????8???15???23???5???7???14???16????4
8、???6?