2010-12-11 14 views

答えて

1

よくある最も単純なアプローチは、画像を見て、ピクセルの色をintにマッピングする辞書を作成することです。各ピクセルについて、その色が辞書内にある場合、そのカウントをインクリメントする。表示されていない場合は、カウント1で追加します。これにより、画像に各色が表示される回数が表示されます。

次に、countでソートすると、イメージ内で256の最も一般的な色が見つかります。これらの色があなたのパレットを構成します。

次に、画像をもう一度繰り返します。各ピクセルについて、そのピクセルの色に最も近いパレットカラーを見つけ、そのピクセルのインデックスをそのパレットインデックスに設定します。

これは良い「初回」ですが、色が多い画像ではパレットを見つけるのがうまくいかないかもしれません。ディクショナリ段階では、非常によく似ている色がたくさんあることを避けるために、「非常に近い」色を組み合わせることが望ましいかもしれません。

より良い結果を得るには、ditheringのテクニックを参照してください。

1

この問題は、色の量子化と呼ばれます。例えば、pngquantを参照してください。

アルゴリズムを探している場合は、Median Cut、Octtree、K-Means、Linde-Buzo-Gray、NeuQuantを検索します。理想的にはGoogle Scholarでは、定期的な結果は有料壁を隠すことによってスパムされます。

関連する問題