Tracing contour lines with line segments in (noisy) images
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Image Analyst
le 11 Jan 2013
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 commentaires
Image Analyst
le 13 Jan 2013
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.
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!