グレースケール画像には256の可能な値があります。しかし、私がこれを試したときにmatlabで: -カラーマップのサイズ(グレー)
>> a=colormap(gray);
>> whos a
Name Size Bytes Class Attributes
a 64x3 1536 double
これは、カラーマップ(灰色)が64値しかないことを示しています。なぜこれはそうですか?
グレースケール画像には256の可能な値があります。しかし、私がこれを試したときにmatlabで: -カラーマップのサイズ(グレー)
>> a=colormap(gray);
>> whos a
Name Size Bytes Class Attributes
a 64x3 1536 double
これは、カラーマップ(灰色)が64値しかないことを示しています。なぜこれはそうですか?
カラーマップのデフォルトの長さは64です。
a=colormap(gray(256));
を使用するか、256値の場合はa=gray(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)
...