Efficient way to set specific range of pixels to zero.

2 Ansichten (letzte 30 Tage)
Ivan Shorokhov
Ivan Shorokhov am 23 Apr. 2015
Kommentiert: Ivan Shorokhov am 24 Apr. 2015
Hello everybody,
I have gray image with pixels from 0 to 255. And I would like to set pixel from 90 to 100 to zero.
I've wrote following code:
new_gray=gray;
new_gray(gray>90&gray<100) = 255;figure;imshow(new_gray);
And it seems to be working fine, but I'm wondering, if there are any other ways of doing it?
Thanks in advance.

Akzeptierte Antwort

Image Analyst
Image Analyst am 23 Apr. 2015
You could use intlut(). Something like
lut = gray(256);
% Make gray levels 91 through 99 be 0
lut(92:100) ;
new_gray = intlut(grayImage, lut);
DON'T name your image gray. That is the name of a built-in function that creates a colormap.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by