Ask Your Question
1

Object detection without nonfree

asked 2014-06-08 17:32:26 -0600

lp gravatar image

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?

edit retag flag offensive close merge delete

Comments

Please post some example images.

GilLevi gravatar imageGilLevi ( 2014-06-09 16:30:52 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2014-06-09 03:18:21 -0600

Y Simson gravatar image

I also tried Orb instead of SURF as Keypoint detector and found the problem with using ORB is it doesn't have very good non-maximal suppression. It tends to return Keypoints clumped very closely together. Fortunately for me I can use nonfree since it is not a commercial product.

What other free Keypoint detectors have you tried? Besides for ORB there are BRISK, StarDetector, GFTTDetector. Why not give either one of these a shot?

edit flag offensive delete link more

Comments

Did you try to use other extractor? When i changed the detector and left the SurfDescriptorExtractor it was ok but after changing the extractor it became really bad..

lp gravatar imagelp ( 2014-06-09 03:26:55 -0600 )edit

I see. So your problem is with the descriptor not the Keypoint detector. You have free descriptors like Freak, BRIEF and FAST. Which one did you try?

Y Simson gravatar imageY Simson ( 2014-06-10 10:50:24 -0600 )edit

tried the all and couldn't make it work.. At the end I used an old version of opencv for android that contains the nonfree folder.

lp gravatar imagelp ( 2014-06-16 12:45:43 -0600 )edit

Question Tools

Stats

Asked: 2014-06-08 17:32:26 -0600

Seen: 820 times

Last updated: Jun 09 '14