MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Pamela Paolo
on 5 Dec 2012

Hi, for an image I, I want to color in red the pixels having the coordinates x and y stored in the matrix xy

[L C]=size(I); xy=[x y];

thanks in advance

Answer by Image Analyst
on 5 Dec 2012

Try this, assuming you want to set pixels in an RGB image to red.

for k = 1 : length(xy) row = int32(xy(k,1)); col = int32(xy(k,2)); rgbImage(row, col, 1) = 255; rgbImage(row, col, 2) = 0; rgbImage(row, col, 3) = 0; end

If you have a monochrome image, you'll first have to convert it to an rgb image:

rgbImage = cat(3, grayImage, grayImage, grayImage); % After that, then it's the same loop as above. for k = 1 : length(xy) row = int32(xy(k,1)); col = int32(xy(k,2)); rgbImage(row, col, 1) = 255; rgbImage(row, col, 2) = 0; rgbImage(row, col, 3) = 0; end

## 1 Comment

## Walter Roberson (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/55826#comment_115567

What kind of image is it? RGB or pseudocolor? If it is pseudocolor is it acceptable that it be converted to RGB using the current colormap ?