How to use threshold in this problem?

1 visualizzazione (ultimi 30 giorni)
I convert this picture into bw using c=im2bw(b,graythresh(b)); but the problem is the straight line is disconnected as picture below. It supposed to be straight single line. What kind of segmentation technique that I need to use?

Risposta accettata

Alessandro Masullo
Alessandro Masullo il 23 Gen 2015
Supposed your image varies from o to 1, you could use a threshold in this way:
THR = 0.5
above = image>=THR;
image(above) = 1;
image(~above) = 0;
  6 Commenti
muhammad ismail
muhammad ismail il 23 Gen 2015
Modificato: muhammad ismail il 23 Gen 2015
Ok now I understood. Thank you very much for your great explanation. By the way I have last question for you. How to display gray level like image above. Sorry I'm newbie in matlab.
Alessandro Masullo
Alessandro Masullo il 23 Gen 2015
I just used imagesc(c). You can use different colormaps instead of the grey levels, use:
colormap jet
help colormap

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 23 Gen 2015
Like I said in your duplicate post, you can use imclearborder() and bwareaopen(), though there are better ways like background correction.

Community Treasure Hunt

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

Start Hunting!

Translated by