Change Pixel intensity value

Hi all,
I have an image(gray scale) whose pixel intensity values ranges from -0.5373 to 0.4744. I would like to change the intensity value which is lesser than 0 to 0. Can any one help me to solve this.
Thanks.

 Accepted Answer

Say your image is x,
x(x<0) = 0;

5 Comments

thanks for the quick reply. Its working and one more help how i can do it for RGB images.
thanks in advance.
RGB image has 3 pages, so you need to do this for each page. If operation is the same, you can reshape it, do the conversion, and reshape back. For example
x = rand([3 3 3])-0.5;
x = reshape(x,3,[])
x(x<0)=0
reshape(x,3,[],3)
thanks, Can you explain the role of 0.5 here.
I'm just making an example, make sure there are negative numbers in x.
No, you don't need all that reshaping stuff. "x(x<0)=0" is sufficient to work on the whole 3D matrix (e.g., a color image) - no reshaping is needed.

Sign in to comment.

More Answers (2)

X = max(0, X); %another way of changing anything less than 0 to 0
vishnu lohith
vishnu lohith on 16 Feb 2018
use a suitable transformation to change the intensities from ( 0,255) to (65,180).

1 Comment

Are you sure you posted to the correct six year old question? Not sure what your answer has to do with the original question about clamping the signal to zero.

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!