how can i change th color of pixels in an image

2 views (last 30 days)
this is an image. i want to change the color of every pixel to white(except background).how can i do?i googled it what could not do this.

Answers (2)

Walter Roberson
Walter Roberson on 1 Aug 2016
new_image = double(input_grayscale_image > 0);

Guillaume
Guillaume on 1 Aug 2016
Edited: Guillaume on 1 Aug 2016
Note: never use the jpg format for image processing and for images with uniform colours such as yours. JPG is a lossy (normally) compression format that does not cope well with uniform areas. You can see that your original image has lots of compression artifacts. I recommend you use PNG as a format.
The black in your image is not truly black. It's mostly 1 instead of 0, but because of the compression artifacts near the transition to the grey, it sometimes goes higher. You just need to find the right threshold
You can either do the thresholding explicitly:
new_image = your_image(:, :, 1) > 20 %replace 20 by whichever threshold you prefer, from 0 to 255
Or use im2bw:
new_image = im2bw(your_image, 0.1) %replace 0.1 by whichever threshold you prefer, from 0 to 1

Community Treasure Hunt

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

Start Hunting!