3

色の量子化アルゴリズムに取り組んでいます。

これが基本的なプロセスです。

  • イメージを一連の 3 次元ベクトル (たとえば RGB 空間) に変換します。
  • そのセットをセットのリストに入れます。
  • リスト内のセットの数が、必要な色の数よりも少ない場合:
    • リストから最悪のセットを削除します。
    • 2つに分けます。
    • リストに 2 つの新しいセットを追加します。
  • 終わり。

「最悪のセット」とは、各ベクトルと平均ベクトルの間の累積距離がより大きくなるセットです。

そして、これが私が「セットを分割する」方法です:

  • すべてのベクトルを加算し、ベクトル数で除算して、平均ベクトルを計算します。
  • 各ベクトルと平均ベクトルの間の絶対差で構成されるベクトルを計算します。それを正規化すると、ベクトル セットを 2 等分する平面の法線が得られます。
  • この法線 2 を使用して、ベクトルが平面のどちら側に属するかに応じて、セットを 2 つのセットに分割します。

これは基本的に機能しますが、線形グラデーションから選択されたように、画像パレットが奇妙に見えます...

私のアルゴリズムは単純に間違っていますか? 誰かが助けることができますか?

4

3 に答える 3

3

問題は、アルゴリズムが初期セットに大きく依存していることです。セットを分割するだけなので、互いに非常に近い 2 つのポイントが最初に別のセットにある場合、それらは常に別のセットになります。これは良くない。

そうです-これはk-meansアルゴリズムよりも悪いです。

于 2011-08-26T11:01:50.277 に答える
1

これがk-meansアルゴリズムよりも優れているとは思いません。たぶん、通常のk-meansを実行する必要があります。

于 2011-08-26T10:39:06.500 に答える