Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a picture that I elaborate with my program to obtain a list of coordinates.

There is a matrix represented in the image. In an ideal test I would get only the sixteen central points of each square of the matrix. But in actual tests I have some noise points.

I want to use an algorithm to extrapolate from the list of the coordinates the group formed by 16 coordinates that best represent a matrix.

  • Example of found points:

  • Example of desired result:

How to do this?

Note: The matrix in the image can be rotated a little too, so a rotation-independent algorithm would be great.

share|improve this question
Do you know something more about the matrix structure, e.g. the maximum distance between two points? – McMannus May 24 at 8:35
@McMannus The matrix is always an 4x4 matrix. In the image is NOT always present the matrix, but is not important, i need to extrapolate the best matching matrix. (of course if i find LESS than 16 points, I will not elaborate it). The distance is not costant. The matrix can be found in any given ratio. – Univers3 May 24 at 9:53
Well, a first direction for this kind of problem could be Template Matching algorithms en.wikipedia.org/wiki/Template_matching – McMannus May 24 at 10:00
Another question: Is it too much of a performance draw to first, find all points in the image? (and then determine which ones form the matrix from there) – Katana314 May 24 at 14:46
add comment (requires an account with 50 reputation)

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.