Question about Edge Extraction from Complex, varying Images

1 view (last 30 days)
Very new to Matlab and any kind of scripting in general. The goal is to take a variety of photographs and cleanly extract edges/contours (whichever works best for later comparing the images) from them. The images vary in quality, composition and pixel resolution.
Like other newbs here I have been trying out different algorithms for edge extraction that is often quite messy and requires incremental removal of smaller edges.
I have been using bwareaopen to incrementally reduce the smaller contours while retaining the larger. Is this the most efficient way of doing this? Given my goal am I on the right path? Eventually I want to compare the clean edges using Matchfeatures or similar with the capability to report error values between the two (dissimilarity?).
The red contours in the image below are the goal. The B+W image is a Sobel EE method and the last image is a simple contour plot. I only need the red edges for a comparison.The other two only demonstrate the messiness involved.

Answers (1)

Image Analyst
Image Analyst on 9 Sep 2016
You forgot to explain the final, and perhaps most important, part. And that is WHY do you want to compare edges? And how? Let's pretend for a minute that you had the edges. Now, how are you going to compare them, and what for? Maybe if I knew that I'd suggest an approach that didn't even involve detecting edges at all.
In the meantime, look at how they used the Hausdorf distance to find planes in images based on their edges. http://cgm.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/main.html
  2 Comments
Derek Johnson
Derek Johnson on 9 Sep 2016
Edited: Derek Johnson on 9 Sep 2016
I want to match like points on the images to attempt registration. When the alignment fails I need a metric for the error. It's not so much a straight edge comparison as much as like features similar to the SURF techniques used in photogrammetry. The boss wants the edges extracted to clean linework (his preference is for .eps output) before the registration attempt.
Visually I need to identify the points like this with a similar overlay of the two images (but not using stereo images.)
I appreciate the help with the link (I actually ran into it earlier) but I was an animator by trade so I come from the creative side of things. I have never written a line of code, have only hacked together a script or two in javascript and my last math class was 24 years ago (and it MAY have been trig). Not exactly a technical resume. I've spent exactly 22 hours in Matlab. When I get time to breath I'm starting in Lynda.
<http://uk.mathworks.com/help/examples/vision/FindCorrespondingInterestPointsExample_01.png Overlay >

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!