How I can change the more than one pixel values in gray scale image ?

% I have gray image X (480x640 double), having values between 0 and 0 to 1, I want to change the values of all pixel to 1 that are closer to 1 and change values of all pixel to 0 that are near to 0.

 Accepted Answer

Well, you shouldn't have accepted that answer so quickly if it didn't do what you asked. Here's how to "change the values of certain pixel to 1 that are closer to 1 and want to change values to 0 that are near to 0:
yourImage = yourImage >= 0.5;

3 Comments

Thanks " firstly, i am new to this so i didn't know how to accept answer ... but now i do, Secondly this code didn't work because it change all value either to zero or one, I need to do show both 0 and 1 but in a way that it look like an image by changing the pixel values to 1 that are near to 1 and same with 0.
I'm not sure what you mean.
Here's an example:
yourImage = rand(3)
yourImage = yourImage >= 0.5
and in the command window.
yourImage =
0.964888535199277 0.957166948242946 0.141886338627215
0.157613081677548 0.485375648722841 0.421761282626275
0.970592781760616 0.8002804688888 0.915735525189067
yourImage =
1 1 0
0 0 0
1 1 1
as you can see, it changed values that are closer to 0 into 0, and values that are closer to 1 into 1, just exactly what you asked. By the way, it also works for any range of values, not just values in between 0 and 1. So, given the yourImage above, what values would you want them to be changed into?
Let say I have image I= [0 0 0 0.0500 0.0512 0.0473 0.0774 0.0735 0.0735 0.0774 0.0774 0.0735 0.0774 0.0735 0.0747 ] Now i wanna change all similar pixel like 0.0735 to my desire color let say red/white. please write the code with comment so i can understand. Thanks

Sign in to comment.

More Answers (1)

The function round(), rounds to the nearest integer.
X = rand(480,640);
Xnew = round(X);

Community Treasure Hunt

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

Start Hunting!