AKAZE是KAZE的加速版
与SIFT、SURF相比,AKAZE更稳定,速度更快。
AKAZE特征检测示例:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
Mat src = imread("D:/cv400/data/lena.jpg", 0);
if (src.empty())
{
cout<<"Load image error..."<<endl;
return -1;
}
imshow("input image", src);
// kaze detection
Ptr<AKAZE> detector = AKAZE::create();
vector<KeyPoint> keypoints;
double t1 = getTickCount();
detector->detect(src, keypoints, Mat());
double t2 = getTickCount();
double t = (t2 - t1) / getTickFrequency();
cout << "spend time : " << t<<" s" << endl;
Mat keypointImg;
drawKeypoints(src, keypoints, keypointImg, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
imshow("kaze keypoints", keypointImg);
waitKey