Hi for the past 2 days i am working on a code to get a binary image of my rice samples through edge detection technique.I have used Sobel and Canny but the problem that i face is that at some points the edges are not that sharp kindly help me.

1 次查看(过去 30 天)
Hi for the past 2 days i am working on a code to get a binary image of my rice samples through edge detection technique.I have used Sobel and Canny but the problem that i face is that while using canny filter as it provide a better result over Sobel, at some points the edges are not that sharp and due to that some grains are missing in the final binary image kindly help me. Result that i get

采纳的回答

Matt J
Matt J 2018-1-31
编辑:Matt J 2018-1-31
This seems to work
A=double(rgb2gray(imread('ricesam6.jpg'))); A=A/max(A(:));
B=imtophat((entropyfilt(A,ones(11))) ,strel('disk',21));
C=(medfilt2(double(B>.8),[1,1]*11));
result=bwpropfilt(C>0,'MajorAxisLength',[120,inf]);
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by