When I use opencv to extract feature points, ORB is slower than SIFT. Theoretically ORB should be much faster

185 Views Asked by At

Using the same image, ORB cost 270ms, but SIFT cost 70ms. This is the code, using default parameters.

Mat leftImg = imread("example_data/compare/building0.png");
Mat RightImg = imread("example_data/compare/building1.png");
high_resolution_clock::time_point t1 = high_resolution_clock::now();

Mat imageDesc1, imageDesc2;
vector<KeyPoint> pots1, pots2;
//Ptr<SIFT> sift = SIFT::create();
//sift->detect(leftImg, pots1);
//sift->detect(RightImg, pots2);
Ptr<ORB> orb = ORB::create();
orb->detect(leftImg, pots1);
orb->detect(RightImg, pots2);
    
high_resolution_clock::time_point t2 = high_resolution_clock::now();
cout << "pass time:" << (duration<double, milli>(t2 - t1)).count() << endl;
0

There are 0 best solutions below