2016-07-12 6 views
0

Я использую MATLAB 2015. Я хочу уменьшить количество цветов изображения. Изображение RGB будет сегментировано с использованием алгоритма k-средних. Тогда средние цвета будут заменены цветами, которые у меня есть.Как заменить соответствующие цвета моей собственной палеткой в ​​MATLAB?

Цвета (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 ],

красный - [255, 0, 0].

Мне удалось сгруппировать изображение. Кластерные изображения должны быть заменены на ближайший цвет. Как я могу изменить эти цвета после кластеризации?

+1

Смотрите, если это помогает: http://stackoverflow.com/questions/29889707/displaying-kmean-result-with-specific-colors-to-specific- кластеры – beaker

ответ

0

Если вам не удалось найти способ с помощью MATLAB, вы можете переназначить цвета в изображении в командной строке с помощью 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

и вы хотите применить свою палитру (например, переназначить цвета в thos е в вашем образце):

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

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^