2013-06-26 6 views
0

У меня есть изображение в гравюре, где я хочу наложить разные цвета на разные области, которые имеют схожие свойства (например, направление или интенсивность и т. Д.). Я не имею в виду карту тепла. Скорее, у меня есть код с жесткой кодировкой, где я сгруппировал пиксели вместе по их «сходствам». Теперь я хочу переложить цвета на эти пиксели.Matlab накладывающийся цвет на изображении

Например, для изображения размером 3 × 3 пикселя, скажем, я знаю, что верхняя строка и нижняя строка являются подобной группой. А средний ряд - другая группа. Как я могу наложить красный оттенок одной группой и синий оттенок с другим?

+0

возможно дубликат [Изображение наложения с матрицей] (http://stackoverflow.com/questions/6524886/image-overlay-with-matrix) – bla

+0

Разница здесь в том, что мой значения пикселей не нормируются. Я искал конкретные шаблоны в моем сегментированном коде. Таким образом, матрица может иметь что-то вроде $ 0.2 0.3 0.35 $ и 0.8 0.8 0.85 $ для интенсивности пикселей в верхней и нижней строке, но я хочу, чтобы они отображались как один и тот же цвет/оттенок. Я группирую другие свойства, отличные от интенсивности цвета. Карта тепла будет разделять эти два ряда как имеющие два разных цвета. – user2521074

ответ

0

Вы можете сделать изображение в оттенках серого 3x3x1 в цветном изображении 3x3x3, а затем отрегулировать значения оттенков для нужных пикселей.

Так говорят:

GreyImg=[0.2, 0.3, 0.35;... 
     0.5, 0.6, 0.56;... 
     0.8, 0.8, 0.85]; 
%Convert To Color Img 
ColorImg(:,:,1)=GreyImg; 
ColorImg(:,:,2)=GreyImg; 
ColorImg(:,:,3)=GreyImg; 

%Add a red hew to top row: 
ColorImg(1:1,:,1)=ColorImg(1:1,:,1)+[.2, .2, .2]; 
%Add a blew hew to top row: 
ColorImg(3:3,:,3)=ColorImg(3:3,:,3)+[.2, .2, .2]; 

imshow(ColorImg);