Correspondence analysis in OpenCV

842 views Asked by At

I'm looking for a way in OpenCV (or even better in JavaCV) to make a correspondence analysis. Basically I have two Images taken from two different perspectives. Now I need to find corrseponding Points in the two images. The result schould look something like this:

http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Epipolar-geometry-church-result1-ransac.png/800px-Epipolar-geometry-church-result1-ransac.png

Does OpenCV have any methods for this?

2

There are 2 answers

0
Boyko Perfanov On BEST ANSWER

Absolutely. There's many ways to track features in OpenCV with different detectors and trackers.

Check this out: http://docs.opencv.org/2.4.2/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html

I'm sure that this question has also been asked and answered many times even here on stackoverflow.

0
Froyo On

Scale-invariant feature transform (or SIFT) is an algorithm in computer vision to detect and describe local features in images. The algorithm was published by David Lowe in 1999.SIFT is a method to detect distinct, invariant image feature points, which easily can be matched between images to perform tasks such as object detection and recognition, or to compute geometrical transformation between images.

SIFT keypoints of objects are first extracted from a set of reference images and stored in a database. An object is recognized in a new image by individually comparing each feature from the new image to this database and finding candidate matching features based on Euclidean distance of their feature vectors. You can match the keypoints using FLANN.

SIFT is scale, rotation, illumination, and viewpoint invariant. SIFT will be best choice for you. OpenCV has great support for SIFT. http://docs.opencv.org/modules/nonfree/doc/feature_detection.html?highlight=sift

If you want a code example, you could look here. http://jayrambhia.com/blog/sift-based-tracker