何かというと 下記のような画像ファイルの色数を減らして、N色の画像にする処理を考えます。どんな方法を思いつくでしょうか? (N=16あたりで考えてください。) たとえば、次のような手順が考えられます。 (1)画像の中で代表的な色をN個選ぶ。 (2)それぞれのピクセルを一番色が近い代表色に置き換える。 (2)の処理については、「色の近さ」を定義する必要がありますが、これは (R,G,B)(R,G,Bはそれぞれ0〜255の値)で色を表現して、 と の距離 = という、3次元ベクトル空間上の距離で計算することができます。 一方、(1)において、どうやって代表色を選ぶかが悩ましいところです。機械学習のアルゴリズムの1つである「k-means法」を利用すると、このような代表色を自然に選択することができます。 これは次のようなアルゴリズムです。 (1) はじめに、ランダムにN個の代表色を選択します。