How to use threshold in this problem?

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?

 Respuesta aceptada

Alessandro Masullo
Alessandro Masullo el 23 de En. de 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 comentarios

muhammad ismail
muhammad ismail el 23 de En. de 2015
Editada: muhammad ismail el 23 de En. de 2015
So how to apply in this coding?
a=imread('S2a.jpg');
b= imcrop(a,[83 48 550 353]);
c=im2bw(b,graythresh(b));
a=imread('S2a.jpg');
b= imcrop(a,[83 48 550 353]);
c = im2double(b);
THR = 0.5
above = c>=THR;
c(above) = 1;
c(~above) = 0;
muhammad ismail
muhammad ismail el 23 de En. de 2015
But it display like picture below. a=imread('S2a.jpg');
b= imcrop(a,[83 48 550 353]);
c = im2double(b);
THR = 0.5;
above = c>=THR;
c(above) = 1;
c(~above) = 0;
imshow(c);
Alessandro Masullo
Alessandro Masullo el 23 de En. de 2015
That's because your line gray level is the same of the background, so you cannot use a simple conversion from gray to b/w, but you have to use an edge detection algorithm, as Image Analyst suggested:
muhammad ismail
muhammad ismail el 23 de En. de 2015
Editada: muhammad ismail el 23 de En. de 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.
I just used imagesc(c). You can use different colormaps instead of the grey levels, use:
colormap jet
help colormap

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 23 de En. de 2015

0 votos

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

Categorías

Más información sobre Color and Styling en Centro de ayuda y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by