メディアンカット減色法

減色アルゴリズムのメディアンカット法で減色する様子をOpenGLを
用いた3DCGで視覚化してみた。
Mac OS X用のアプリケーションの実行ファイルを以下に示す。

ダウンロード

元画像と色座標空間


画像の色を空間に配置(これはイメージで、実際には3次元配列に登録)


空間を分割して行く



解説

減色の行程は、一般に2つに分けられる。

1. 代表色を決める(カラーパレットを求める)
 (1)画像に含まれるすべての色を色空間に配置したと仮定する。
 (2)空間全体を包括するボックスを1つ定義して、色の分布に応じて
    ボックスを目的の色数まで分割する。(まるで細胞分裂を思わせる)
    分割したら、ボックスを余白を含まない様に適正化する。
 (3)ボックスの代表色をきめる。
2. マッピング
 実際のピクセル各色を最も近い代表色に置き換える。
 場合によっては、ここでディザー処理をかける。
 メディアンカット法の場合は、ボックスに含まれるピクセルを
 代表色に置き換えるなら、マッピングは省略出来るが、
 場合によっては、隣のボックスの代表色の方が近くなるピクセルも
 出て来るので再計算した方が良い。

メディアンカットでボックスを分割するときの考慮

減色は非常に曖昧さを持った処理である。
メディアンカットでは、限られた数にしか分割出来ないので
分割の仕方に無駄がない様考慮する必要がある。
そこで、
・どのボックスを分割するか
・どの軸で分割するか
・どの位置で分割するか
ということが問題になる。

分割するボックスを選ぶ際には、
・体積が大きいボックスを優先
  体積が大きいということは、異なる色を一つの
  代表色に置き換える際に、似ていない色を一つに
  まとめられて色が平均化されて鈍い画像になる。
・含まれるピクセル数が多いボックスを優先
  含まれるピクセル数が多いということは、広い面積が
  その代表色で占められるわけで、細かく分けないと目立つ。
  特に、空などの微妙なグラデーションが縞になったりする。

フューチャー・ホームページへ戻る

(C)2003 Future on u-netsurf ALL RIGHTS RESERVED.