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).

2 次查看(过去 30 天)

采纳的回答

Matthew Eicholtz
Matthew Eicholtz 2016-3-21
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 个评论
Jay
Jay 2016-3-22
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by