ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

dither

ディザリングによって見かけのカラー解像度を上げてイメージを変換

構文

X = dither(RGB, map)
X = dither(RGB, map, Qm, Qe)
BW = dither(I)

説明

X = dither(RGB, map) は、カラーマップ map の色をディザリングすることで配列 RGB 内の RGB イメージのインデックス付きイメージの近似を作成します。カラーマップは、65,536 色以上の色にすることはできません。

X = dither(RGB, map, Qm, Qe) は、RGB からインデックス付きイメージを作成します。ここで、Qm は逆カラーマップに対してそれぞれの色軸に沿って使用する量子化ビットの数を指定し、Qe は色空間の誤差計算に使用する量子化ビット数を指定します。Qe < Qm の場合、ディザリングは実行できず、ディザリングされていないインデックス付きイメージが X に返されます。これらのパラメーターを省略すると、関数 dither は、既定値 Qm = 5Qe = 8 を使用します。

BW = dither(I) は、行列 I のグレースケール イメージをディザリングすることで、バイナリ (モノクロ) イメージ BW に変換します。

クラス サポート

RGB は、uint8uint16single、または double のいずれかです。I は、uint8uint16int16single、または double のいずれかです。その他すべての入力引数は double である必要があります。BWlogical です。X は、256 色かそれ以下の色数のインデックス付きイメージの場合は uint8 で、それ以外は uint16 です。

cameraman 画像を読み込んで表示します。imagesc を使用して画像をグレー スケール画像として表示します。

I = imread('cameraman.tif');
figure; imagesc(I); 
colormap(gray);

ディザリングを適用して、次のようなインデックス化された画像を得ます。

BW = dither(I); 
figure; imagesc(BW);
colormap(gray);

詳細

すべて展開する

アルゴリズム

関数 dither は、Floyd-Steinberg のエラー拡散ディザリング アルゴリズムを適用することで、イメージの見かけのカラー解像度を上げます。

参照‏

[1] Floyd, R. W., and L. Steinberg, "An Adaptive Algorithm for Spatial Gray Scale," International Symposium Digest of Technical Papers, Society for Information Displays, 1975, p. 36.

[2] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 469-476.

参考

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