to find length of edges

14 次查看(过去 30 天)
is there any function for finding out the length of the edges and average number of edges...?actually i hav to determine the edges using canny edge detection method.So how can i find out the length and average number of edges?

采纳的回答

Image Analyst
Image Analyst 2012-1-10
The edge image returned by edge() is a logical image. So to get the length of all the edges, you do
lengthOfEdges = sum(edgeImage);
To get the number of edges:
[labeledImage numberOfEdges] = bwlabel(edgeImage);
To get average edge length (which you didn't ask for but I'm giving you anyway in case you need it), it's
averageEdgeLength = lengthOfEdges / numberOfEdges;
To get the average number of edges you have to define (like Walter asked) what you're averaging over.
  2 个评论
David Young
David Young 2012-1-11
I think you mean sum(edgeImage(:)) or sum(sum(edgeImage))
Image Analyst
Image Analyst 2012-1-11
Correct - good catch!

请先登录,再进行评论。

更多回答(1 个)

David Young
David Young 2012-1-10
Guessing a little, but I suspect that the following functions will be sufficient:
  • sum
  • bwlabel
  • regionprops

Community Treasure Hunt

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

Start Hunting!

Translated by