Tracing contour lines with line segments in (noisy) images
7 次查看(过去 30 天)
显示 更早的评论
Dear all!
I am having a bit of a problem concerning image processing (something I am not very familiar with). I am trying to trace contour lines, separating high and low areas in a structure (represented by a light/dark shading) and disturbed by - unfortunately - quite some noise.
I tried the following approach first:
1) use a filter to denoise the image 2) use edge on the image to find the edges
however this leads to a very highly fragmented "contour" and many misplaced edge-markers somewhere, likely caused by noise.
I think there might be a better approach to this.
I tried using image segmentation as described in the matlab help, but again this seems to result again in heavily "contaminated" edges.
All my contours are rather simple lines or segments of circles that could be approximated by a few line segments in the required resolution.
As a result I would like to somehow export the contour so I would be able to compare it with other samples I took.
Is here anyone who has some expertise in this field and can point me into the right direction?
Any help is very much appreciated! If I left out any vital information, I am always happy to describe my problem in more detail. Sorry if my English is not fully adequate, it is not my first language.
Kind regards, Chris
0 个评论
采纳的回答
Image Analyst
2013-1-11
You might try using a median filter with medfilt2() and then trying edge(). If that doesn't work, there are lots of noise reduction methods that are better. Two of the best are BM3D and non-local means. Or you could try a bilateral filter, sigma filter, kNN filter, K-SVD filter, K-LLD, uinta, etc. For edge finding, again, there are lots and lots of them. You could try a Sobel, Canny, stdfilt(), entropyfilt(), or something fancier like chan vese segmentation.
2 个评论
Image Analyst
2013-1-13
Yes. But I don't know how that applies here, especially since you didn't share your image. So I have no idea why simply blurring your image before running contour() doesn't work.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!