how to find the width of edges in matlab?

3 次查看(过去 30 天)
I am able to find the edges of an image using sobel or canny filter. But I cant calculate the width of the edges.
Actually I want to do the following:
find the width of all horizontal and vertical edges and sum up altogether and store in a variable, say W1
Then find the width of other (non horizontal and vertical) edges. Then multiply each edge width by a factor sqrt(2). After sum up altogether and store in a variable say w2.
Finally perform (w1+w2)/N where N is the no of total edges in the image.
  5 个评论
Image Analyst
Image Analyst 2014-6-5
Looks like I responded to that 3 weeks ago and you never replied.
Lahiru
Lahiru 2014-6-5
Oh, I'm really sorry, I just saw your response. I will reply in that thread. Thanks.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2013-8-25
First I'd threshold ats some desired edge strength. Then I'd use bwmorph() to get the skeleton of the edges and call sum() to get the length. Then I'd call bwarea() on the thresholded image to get the area. Divide the area by the length to get the average width of all the edges.
  8 个评论
shimul
shimul 2013-8-26
This is the image named as sample1.jpg --> http://tinypic.com/view.php?pic=1250um8&s=5
And this is the image named as sample2.jpg --> http://tinypic.com/view.php?pic=2qdaibc&s=5
I am using these two image for my work. My main intention is to calculate the sharpness index according to the paper "Referenceless image quality evaluation for whole sliding imaging" By Mashahiro Yamaguchi et al.
shimul
shimul 2013-8-26
Hello Sir, am I following right way or anything wrong. Actually I very much new on this way. Please provide me with some more suggestions

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by