Any ideas how I can perform segmentation on this image?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Image Analyst
2020-5-21
Use bwconvhull. Do you want the actual boundary, following all the little nooks and crannies, or do you want the best-fit perfect circle?
回答(1 个)
Ryan Comeau
2020-5-29
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Segmentation and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!