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

Viewed 21

Using the same image,orb cost 270ms,but sift cost 70ms. this is the code,all uses 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 Answers
Related