ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

imapprox

色の数を減らしてインデックス付きイメージを近似

構文

[Y,newmap] = imapprox(X,map,n)
[Y,newmap] = imapprox(X,map,tol)
Y = imapprox(X,map,newmap)
Y = imapprox(...,dither_option)

説明

[Y,newmap] = imapprox(X,map,n) は最小分散量子化を使用してインデックス付きイメージ X と関連カラーマップ map の色に近づけます。imapprox は最大 n 色が含まれたカラーマップ newmap をもつインデックス付きイメージ Y を返します。

[Y,newmap] = imapprox(X,map,tol) は一様量子化を使用して Xmap の色に近づけます。newmap は最大 (floor(1/tol)+1)^3 色を含んでいます。tol は 0 ~ 1.0 でなければなりません。

Y = imapprox(X,map,newmap) はカラーマップのマッピングを使用して map の色の近似値を求め、map の色に一番近い色を newmap から見つけます。

Y = imapprox(...,dither_option) はディザリングを適用するか、適用しないかを設定します。dither_option は次の値のいずれかを使うことができる文字列です。

説明

{'dither'} (既定の設定)

必要な場合は、空間的な解像度を犠牲にしても色の解像度を高めるためにディザリングを適用します。

'nodither'

元のイメージの色を新しいマップの最も近い色にマッピングします。ディザリングは適用されません。

クラス サポート

入力イメージ X は、クラス uint8uint16、またはdouble です。出力イメージ Y は、newmap の長さが 256 以下の場合はクラス uint8 です。newmap の長さが 256 を超える場合、Y はクラス double になります。

マンドリルの顔のインデックス付きイメージを読み込みます。220 色の関連カラーマップ map を使用してイメージ X を表示します。

load mandrill
figure('color','k')
image(X)
colormap(map)
size(map)         % See that the color map has 220 entries

ans =
   220     3

axis off          % Remove axis ticks and numbers
axis image        % Set aspect ratio to obtain square pixels    

新しいイメージ Y と関連カラーマップ newmap を作成してインデックス付きイメージの色の数を 220 色から 16 色に減らします。

figure('color','k')
[Y, newmap] = imapprox(X, map, 16);
size(newmap)   % See that the new color map has 16 entries

ans =
    16     3

image(Y)
colormap(newmap)
axis off       % Remove axis ticks and numbers
axis image     % Set aspect ratio to obtain square pixels    

詳細

すべて展開する

アルゴリズム

imapprox は、rgb2ind を使用して、色が少ない新しいカラーマップを作成します。

この情報は役に立ちましたか?