I'm using this tutorial: http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html#feature-homography
The code there is just what I need except I can't use nonfree modules. I need this code for an Android app and OpenCV for Android doesn't include nonfree module. I saw that there are alternatives for surf like orb/freak/fast.
I tried to replace the following things: SurfFeatureDetector with OrbFeatureDetector, SurfDescriptorExtractor with BriefDescriptorExtractor or OrbDescriptorExtractor, FlannBasedMatcher with BruteForceMatcher<hamming>
these were the only changes I made.
the problem is that I get bad result... the original code detected the code exactly and the frame that it drew was correct. After the changes the lines are placed in a wrong position (not even on the object) or somewhere on the object but far from detecting the object like the original code.
Is there a way to get same results without using nonfree?