MATLAB Answers

0

setting range for pixel intensity

Asked by monika SINGH on 11 Apr 2019
Latest activity Commented on by monika SINGH on 12 Apr 2019
i am having a gray level image, i want to set range like if x(i,j)=183 to 215 it will have some value
c programming for this would be like
x[i,j]=pixel intensity
for(i=0;i<=n;i++)
{
for(j=0;j<=n;j++)
{
if(x[i,j]=183||x[ij]=215
{green color}
else
{red}
end
}}
how i would show this in matlab

  0 Comments

Sign in to comment.

1 Answer

Answer by Guillaume
on 11 Apr 2019
Edited by Guillaume
on 11 Apr 2019

You have to decide if your image is greyscale or colour. You obviously can't set a pixel to green in a greyscale image without first converting it to truecolour. In any case, your if/else would produce a binary image which by default is displayed in black and white.
Anyway, in matlab you wouldn't use a loop for this
%greyimage: your 2d matrix of the image, most likely of type uint8 if you're using intensities 183 and 215
bwimage = ismember(greyimage, [183, 215]);
%bwimage is a logical array the same size as the image with true (1) when the pixel has value 183 or 215 and false (0) otherwise

  2 Comments

Then
greyImage(bwimage) = someValue; % Set to whatever you want.
Do it one color channel at a time if you have a color image.
sir i did not understand what exactly you want to convey?

Sign in to comment.