From: Avengeline on 10 Mar 2010 23:27 After using sobel edge detection on an image.. I plotted a graph of pixel values vs pixel position (for one row of the image).. The link of the graph is attached here: http://farm5.static.flickr.com/4010/4423446095_1f8d52cc4a_b.jpg I located all the edge positions and plotted them on the same graph using marker 'o' I am confused on one thing.. probably I do not have a deeper understanding on edge detection... Is it only 1 edge lies between a local maxima and minima? In my graph, 2 edges (E1 & E2) lie in between the same local maxima and minima.. is it possible?
From: ImageAnalyst on 11 Mar 2010 06:20 Sure it's possible. When you threshold the edge image (which is normally a gray scale image except if you use the MATLAB edge() function which thresholds and thins it for you), you will possibly get thick edges. If you want them thinner, call bwmorph with the 'skel' option to thin them down to single lines.
From: Avengeline on 11 Mar 2010 08:54 ImageAnalyst <imageanalyst(a)mailinator.com> wrote in message <d9a137cb-9fef-433f-ba7e-27a13e3fa204(a)u9g2000yqb.googlegroups.com>... > Sure it's possible. When you threshold the edge image (which is > normally a gray scale image except if you use the MATLAB edge() > function which thresholds and thins it for you), you will possibly get > thick edges. If you want them thinner, call bwmorph with the 'skel' > option to thin them down to single lines. Hi. Thanks.. I tried with.. BW = edge(Y,'sobel',[], 'vertical'); B1 = bwmorph(BW,'skel',Inf); ....but still no difference. Any other suggestion?
From: Ashish Uthama on 11 Mar 2010 09:00 On Wed, 10 Mar 2010 23:27:05 -0500, Avengeline <avengeline.biz(a)gmail.com> wrote: > After using sobel edge detection on an image.. I plotted a graph of > pixel values vs pixel position (for one row of the image).. The link of > the graph is attached here: > http://farm5.static.flickr.com/4010/4423446095_1f8d52cc4a_b.jpg > > I located all the edge positions and plotted them on the same graph > using marker 'o' > > I am confused on one thing.. probably I do not have a deeper > understanding on edge detection... > > Is it only 1 edge lies between a local maxima and minima? In my graph, 2 > edges (E1 & E2) lie in between the same local maxima and minima.. is it > possible? It might also help to post the original image and its edges. Wont there be some horizontal/close to horizontal edges in the image too?
From: ImageAnalyst on 11 Mar 2010 09:56
On Mar 11, 8:54 am, "Avengeline " <avengeline....(a)gmail.com> wrote: > BW = edge(Y,'sobel',[], 'vertical'); > B1 = bwmorph(BW,'skel',Inf); > > ...but still no difference. Any other suggestion? ----------------------------------------------------------------------------------------- Yes - that's not surprising. Apparently you didn't read or understand what I said about the built- in edge() function automatically thresholding and skeletonizing the gray scale edge image. So it makes sense (now that you know this) that skeletonizing an already skeletonized image will make no difference. I'm not sure what you want to do. Do you want thin edges or thick edges? If you want the original, un-processed edge image, you should look up fspecial() and imfilter(). And like Ashish recommended, posting an image somewhere (like http://drop.io) might help in this conversation. |