2016-07-12 27 views
0

我正在使用MATLAB 2015.我想減少圖像的顏色數。 RGB圖像將使用k-means算法進行分割。然後,意味着顏色將被替換爲我擁有的顏色。如何在MATLAB中用我自己的pallette替換適當的顏色?

的顏色是(10),

黑 - [255,255,255],

黃色 - [255,255,0],

橙 - [255,128, 0],

白色 - [255,255,255],

粉紅 - [255,153,255],

LAV安德 - [120,102,255],

棕色 - [153,51,0],

綠色 - [0,255,0],

藍 - [0,0,255 ],

red - [255,0,0]。

我已成功對圖像進行聚類。聚類圖像應該用最近的顏色替換。如何在聚類後更改這些顏色?

+1

看看這有助於:http://stackoverflow.com/questions/29889707/displaying-kmean-result-with-specific-colors-to-specific-clusters – beaker

回答

0

如果您沒有成功找到MATLAB的方法,您可以使用ImageMagick在命令行中重新映射圖像中的顏色,ImageMagick安裝在大多數Linux發行版上,也可用於OSX和Windows。

首先,您將在調色板中製作顏色樣本。你只需做一次明顯:

convert xc:black   xc:yellow    xc:"rgb(255,128,0)" \ 
     xc:white   xc:"rgb(255,153,255)" xc:"rgb(120,102,255)" \ 
     xc:"rgb(153,51,0)" xc:lime xc:blue  xc:red    \ 
     +append colormap.png 

,看起來像這樣(擴大):

enter image description here

現在,讓我們假設你有一個像這樣的colorwheel(colorwheel.png):

enter image description here

並且您想要應用調色板(即將顏色重新映射到那些顏色在您的樣本):

convert colorwheel.png +dither -remap colormap.png result.png 

enter image description here

相關問題