する方法について、です。RGB)》この絵の色分布(ヒストグラム)を調べると下記のようになります。白っぽい背景の面積が大きいので、その部分にピークが出ます。色の分布を3次元表示すると下記のようになります。(横:Green,縦:Red,奥行:Blue)分布がある領域に固まっている事がわかります。別の画像のヒストグラムを調べると下記のようになります。RGB)》このように、通常の絵のヒストグラムは、ある領域に分布が集まったもの、あるいは、幾つかの分布領域が組み合わさったものになります。減色する事について考えましょう。最近ではほとんど必要性が無くなってしまったのかもしれません。ページを少しでも軽くする、という目的で有用な技術でした。例によって、最も簡単なアイデアからです。それぞれを等分割する。下記は、「RとGを7分割、Bを5分割」したものです。元絵のそれぞれのピクセル値を一番近いパレット値に置き換えたものです。芸術的な感じに仕上がりました。元々の画像からは遠くなっています。(R':G':B')の差分を「誤差拡散法」で拡散する。このやり方で作ったのが下記です。「誤差拡散なし」よりも「誤差拡散あり」の方が奇麗だと思います。(あくまで、個人的な感想ですが。誤差拡散のお陰で、質感は上がりましたが、やはり「誤差拡散」特有の点々があるために、表面がザラザラした感じがします。(言い方が抽象的だなぁ)もう少しリアルな表面のスベスベ感、フワフワ感を出せないでしょうか?考えてみると、固定パレットには無駄なエントリ(=パレット要素)が多すぎます。金魚の絵では、緑色のパレットは要りません。その代わりに、赤と黄色の中間色を追加した方が奇麗になりそうです。やってパレットを最適化したものが下記です。《最適化パレット》(24bit→8bit)+誤差拡散(Floyd-Steinberg)》では、『最適化パレットの作り方』です。Cut,中央値分割)」という方法を用います。それぞれの画像でヒストグラムを求めると下記のようになったとします。)メディアン・カットは、まずピクセル領域を絞り込む事から始めます。これがコツっぽいです。次に、領域に含まれるピクセル数が半々になるように分割します。分割したら、それぞれの領域を絞り込みます。これを何度か繰り返します。・領域の大きさがある一定値よりも小さくなったらそれ以上分割しない。・領域に含まれるピクセル数が一定値よりも少なくなったら分割しない。いうやり方でよさそうです。)の端点をパレットに追加します。この時、外側の点(上図の赤い○)はパレット登録した方が奇麗になります。密集点(上図の緑の○)はどれか1つを登録します。最後に画像を比較しておきましょう。変換してからカットを行っています。(「その方が良さそうな気がする」というだけの理由です。)しかし、如何せん、プログラマが私ですから、パレットの選択がまだまだ甘い。「最適化パレット(なんちゃって)」というのが本当のところです。ちなみに、上記《固定パレット》で用いたパレットを表したものが下記です。上記、金魚の《最適化パレット》で用いたパレットは下記です。上記、フルーツ盛り合わせの《最適化パレット》のパレットは下記です。