Any ideas how I can perform segmentation on this image?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I have tried a range of methods such as clustering and thresholding to seperate the white circle from the brown ring without any luck.
Please could someone help?
Thanks!
4 comentarios
Image Analyst
el 21 de Mayo de 2020
Use bwconvhull. Do you want the actual boundary, following all the little nooks and crannies, or do you want the best-fit perfect circle?
Respuestas (1)
Ryan Comeau
el 29 de Mayo de 2020
Hey, i've read through the comments, might have a binarization solution for you. The imbinarize function is very elaborate, take a good look through the documentation. Here is what i've done in the past to get the best binarization results.
image=imread('path/to/image')
image=rescale(image,0,1); %matlab loves 0-1 range for binarize don't ask me why lol
BW_im=imbinarize(image);
If this doesn't work, try a variable sensitivity, adaptive binarization, and create some validation conditions for yourself:
is_done = 0;
sensitivity= 0.1; %tune this to whatever you want
i=1;
while is_done == 0
BW(i).image = imbinarize(I,'adaptive','Sensitivity',sensitivity);
i=i+1;
sensitivity=sensitivity+0.1;%tune this to what you want.
if sensitivity >= 1
is_done == 1
end
end
%you then place some validation criterion on you binarization and take which one is the best
Hope this helps,
RC
1 comentario
Ver también
Categorías
Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!