Ask Your Question

What exactly are ORB Descriptors

asked 2015-02-03 08:08:23 -0500

frek gravatar image

updated 2015-02-03 08:17:49 -0500

berak gravatar image

First of all I am completely new to openCV so I am sorry if this has an obvious answer.

Having the following code in Java:

FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB);
DescriptorExtractor descriptor = DescriptorExtractor.create(DescriptorExtractor.ORB);
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING);

Mat img1 = Highgui.imread("img1.png");
Mat img2 = Highgui.imread("img2.png");

Mat descriptors1 = new Mat();
MatOfKeyPoint keypoints1 = new MatOfKeyPoint();

detector.detect(img1, keypoints1);
descriptor.compute(img1, keypoints1, descriptors1);

Mat descriptors2 = new Mat();
MatOfKeyPoint keypoints2 = new MatOfKeyPoint();

detector.detect(img2, keypoints2);
descriptor.compute(img2, keypoints2, descriptors2); 
//... Do stuff

I understand that the keypoints1 and keypoints2 are 500x7 arrays that each of these columns indicate x-y coordinates, size, angle, response, octave, class_id.

Each of the descriptors1 and descriptors2 are 500x32 arrays. My question is what does each of these 32 columns represent?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2015-02-03 08:25:59 -0500

berak gravatar image
edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2015-02-03 08:08:23 -0500

Seen: 110 times

Last updated: Feb 03 '15