MATLAB: Efficient way to set specific range of pixels to zero.

imageimage processingImage Processing Toolbox

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.

Best Answer

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.