2017-01-28 73 views
0

我在網上看到灰度圖像有256個可能的值。但在matlab中,當我試過這個: -colormap的大小(灰色)

>> a=colormap(gray); 
>> whos a 
    Name  Size   Bytes Class  Attributes 

    a   64x3    1536 double 

它顯示colormap(灰色)只有64個值。這是爲什麼?

回答

2

色彩映射的默認長度爲64個值。
您可以使用a=colormap(gray(256));或更好地使用:a=gray(256);獲取256個值。

一般colormap現在已經對灰度級進行了特殊處理。
colormap是一種「查找表」映射「指數」到RGB三元組(灰度三元組意味着R = G = B)。
對於所有可能的灰度級,256個值是足夠的,但對於覆蓋所有RGB級別(假設每個顏色通道的字節數),您需要:256^3 = 16777216個值。

默認64值應用256個灰度級中的64個樣本(樣本之間存在量化「間隙」)。

實例:

gray(2)
結果:2的灰度級(0和1):
0 0 0(黑色)
1 1 1(白色)

gray(4)
結果:4的灰度級:
0 0 0(黑色)
0.3333 0.3333 0.3333(黑色)灰色)
0.6667 0.6667 0.6667(淺灰色)
1.0000 1.0000 1.0000(白色)
正如你可以看到,最小爲0,最大爲1,並在它們之間水平是1/3和2/3。

原理相同gray(64) ...