Recently, I am thinking about a problem regarding image projection. I have a larger picture as bellow. enter image description here

I want to find the transformation matrix, x'=Hx. When the above image pass the transformation matrix H, I will get another smaller picture as bellow.

enter image description here

I have tried to use SIFT to find four major points and use these points to implement DLT algorithm. However, after executing SIFT, I find that there are many matching error as bellow. The distRatio is 0.5

enter image description here

I have thought for almost two weeks. Is there any different ideas which can be use to solve this problem. Thank you very much.

  • $\begingroup$ Have you had a look to findHomography? You can apply then also a rotation using warpAffine(). $\endgroup$ – madduci Dec 3 '14 at 15:12
  • $\begingroup$ Oh! Thanks for reminding me. I will spend some time looking to findHomography and warpAffine(). $\endgroup$ – Kuo Dec 4 '14 at 0:57

The logo you are looking at is symmetric. For example, you could rotate it by 120 degrees and get the same pattern. If you take a look, many of the "errors" are not really errors. The same pattern appears in your image many times. It is called self-similarity.

You could do several things:

  • Change descriptors to avoid confusion between features that are similar in an image.
  • Instead of finding one match for keypoint, find 3 matches and test multiple combinations by fitting a transformation and checking which fits better.
  • Limit the transformation by rotation angle, mirror, etc. For example, angle must not be larger than 60 degrees
| improve this answer | |
  • $\begingroup$ Thank you very much for your reply. I have already thought some parts of your comment before, but I have any concrete idea. And I have the rotated this picture 90 degrees. There are still some error. I think that SIFT is rotation invariant. Moreover, this picture is a special one. I have other different loge with is not symmetric and those results also have some error. $\endgroup$ – Kuo Dec 3 '14 at 14:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.