How can I paint a list of pixels in a matlab image?

2 views (last 30 days)
I'm working with a lot of images here and I have to find all the pixels above a scalar value and paint all them into any color.
I've all the indexes of this pixels but I don't know how can I paint them now...
Thx for the help again.
  1 Comment
Jan
Jan on 16 Jan 2012
In which format are the "images" represented? Printed on paper, as JPEGs on the harddisk or as arrays in Matlab? What does "paint all of them in any color" exactly mean?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 16 Jan 2012
Here's the way to do it without using slow loops:
grayImage = imread('coins.png');
subplot(2,2,1);
imshow(grayImage);
binaryImage = uint8(255 * ~(grayImage > 150));
subplot(2,2,2);
imshow(binaryImage, []);
uniformImage = uint8(255 * ones(size(grayImage)));
zeroImage = uint8(255 * zeros(size(grayImage)));
rgbImage = cat(3, uniformImage, binaryImage, zeroImage);
subplot(2,2,3);
imshow(rgbImage);

More Answers (2)

Wanderson
Wanderson on 16 Jan 2012
LoL, sorry I'll try to explain it better now.
I have one image 320x256 as arrays in matlab. I use the function "find" to find all the pixels between 0 and 0.5 and I have to paint this set of pixel from "yellow" for example and them I'll do the same thing to find another set of pixel between 0.5 and 1.0 and paint this new set to "red".
better now?

Wanderson
Wanderson on 17 Jan 2012
Thank you both for the help.

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!