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

 Akzeptierte Antwort

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 Kommentar

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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

Jay
am 20 Mär. 2016

Kommentiert:

Jay
am 22 Mär. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by