Any ideas how I can perform segmentation on this image?
1 回表示 (過去 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!