Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenCV matching images

I am trying to use OpenCV to match images like these:

img1 img2 http://img849.imageshack.us/img849/8177/clearz.jpg

And I need to find the best intersection of them.

I tried using SURFDetector and matching using BruteforceMatcher, but finds descriptors not equal.

Tell me please the correct way to solve problem.

like image 966
Famos Avatar asked Jan 17 '12 11:01

Famos


2 Answers

Did you have a look to this code example? Here you can see how to find an object using SURF descriptors. Go to main(), and check the code step by step. You can try it with your images and it should work. Other approaches use SIFT and FAST detectors.

Good luck. If you don't get results keep trying, at the beggining it is hard.

like image 86
Jav_Rock Avatar answered Sep 18 '22 02:09

Jav_Rock


You might want to apply a median filter first, to remove the noise. This will probably lead to better results for the matching, because the left image is pretty noisy.

It will also smooth the image a bit, which is good, because it leaves out the details, and you are looking for larger structures.

You will have to try out different sizes of the filter for the best result.

like image 21
Geerten Avatar answered Sep 21 '22 02:09

Geerten