k-meansを使用して画像の量子化を実行できます。したがって、黄色の色合いが白になり、他のすべてが黒になるように画像を2値化する必要があることがわかります。したがって、画像を適切な数のクラスターに分割します(4つで機能する場合があります)。黄色の色合いの場合は2、その他の色合いの場合は2。最初の図心を事前に定義することを忘れないでください。この後、黄色の重心としてラベル付けされたピクセルは1つとして再ラベル付けされます。これはうまくいくかもしれません。
k-means色の量子化プロセスの詳細:1。最初に、画像内のすべてのピクセルをnx3
マトリックスに収集します。次に、k-meansを使用して、nx3
行列を3つまたは4つのクラスターに分割します。2. 4つのクラスターに分割する前に、重心を事前に定義します。これを行うには、MATLABkmeansアルゴリズムのドキュメントをここで読んでください。。設定する必要のあるパラメーターは、kmeansの「options」フィールドの「start」です。3.したがって、黄色(およびそれに「近い」他の色)は、事前定義されたクラスターに分類される必要があります。(したがって、クラスター1と2を黄色に定義した場合、すべての黄色のピクセルに1または2のラベルが付けられます。他のピクセルには3または4のラベルが付けられます。)4。次に、ピクセルが次のように画像をバイナリに変換します。黄色のクラスター(つまり、この例ではクラスター1と2)に分類される場合は、1にする必要があり、その他はゼロになります。
クラスターの事前定義の詳細:kmeansドキュメントから:開始重心は、のstart
パラメーターで重心開始位置の行列kmeans
として定義できます。k-by-p
あなたの場合、それはRGB
黄色の値になります。画像に存在する黄色のいくつかのピクセル値を確認してください。偏差が大きすぎる場合は、2つのクラスターを定義し、そうでない場合は1つを定義します。2つを定義すると、start
パラメーターに2x3
行列が含まれます。セントロイドの列数はデータの列数と同じになることを常に覚えておく必要があります。
これにより、プロセスがより高いレベルで明確になることを願っています。エラーがある場合は、コードを投稿してください。