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.

5 views (last 30 days)
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

Accepted Answer

Matt J
Matt J on 31 Jan 2018
Edited: Matt J on 31 Jan 2018
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 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!