How to convert a noisy picture to a black and white one

Dear all,
For further processing (detecting circle for example), I need to convert this kind of pictures (see below) to black and white ones. I have tried to use im2bw playing with the level but I cannot make it work properly. I have also tried to adjust contrast and brightness beforehand in imtool without success. Moreover, I would need to do this step in a (semi-)automatic way. Any hint would be warmly welcome.
I am sure I am missing something as it must be a classical problem but I am a newbie in image processing and can't find my way through...
Cheers!

Antworten (2)

Dishant Arora
Dishant Arora am 12 Mär. 2014
Decide threshold from histogram manually, you'll be able to differentiate between background and foreground pixels looking at the histogram
[count , grayLevels] = imhist(imageArray)
bar(grayLevles , count) % Plots histogram , decide threshold intensity from it
grid on
bw = imageArray > threshIntesity;
Carine
Carine am 13 Mär. 2014

0 Stimmen

Thanks for your answer but this doesn't work as for example the black of the circle on the RHS of the picture is whiter than the white of the LHS of the picture. I am now working using adpathisteq which helps a lot, working locally.

Diese Frage ist geschlossen.

Gefragt:

am 12 Mär. 2014

Geschlossen:

am 20 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by