How to extract connected chains in canny edge image? Specifically asking, how would I extract connected chains when there are so many edges are available, so that I could come up with top 10 results (top 10 long edges).

1 view (last 30 days)

Accepted Answer

Matthew Eicholtz
Matthew Eicholtz on 21 Mar 2016
Would regionprops do the trick?
----
Read the image:
I = imread('cameraman.tif');
Compute edges and create label matrix:
J = edge(I,'canny');
L = bwlabel(J);
Extract properties for connected components:
s = regionprops(J,'PixelIdxList');
Sort based on number of pixels in each connected component:
d = cellfun('length',{s(:).PixelIdxList}); %total number of pixels in each region
[~,order] = sort(d,'descend');
Show top-10 connected components:
K = ismember(L,order(1:10)); %only show the top 10 edges
  1 Comment
Jay
Jay on 22 Mar 2016
thanks. Do you have any idea how would I fill the gaps in contours in canny image before extracting connected chains?
It may give more promising results, I guess.

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!