setting range for pixel intensity

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

답변 (1개)

Guillaume
Guillaume 2019년 4월 11일
편집: Guillaume 2019년 4월 11일

0 개 추천

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

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

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Modify Image Colors에 대해 자세히 알아보기

질문:

2019년 4월 11일

댓글:

2019년 4월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by