orb_cv.cpp
#include
#include
#include //特征点头文件,处理特征点信息
#include //opencv gui头文件
#include //用于计时的头文件
using namespace std;
using namespace cv;
int main(int argc, char **argv) {
if (argc != 3) {
cout 关键点2
Mat descriptors_1, descriptors_2;//描述子
Ptr detector = ORB::create(2000);//可以修改特征点的个数来增加匹配点数量 特征点检测
Ptr descriptor = ORB::create();//描述子
Ptr matcher = DescriptorMatcher::create("BruteForce-Hamming");//特征匹配
//-- 第一步:检测 Oriented FAST 角点位置
chrono::steady_clock::time_point t1 = chrono::steady_clock::now();//检测 Oriented FAST 角点前计时
detector->detect(img_1, keypoints_1);//检测图片1的Oriented FAST 角点
detector->detect(img_2, keypoints_2);//检测图片2的Oriented FAST 角点
//-- 第二步:根据角点位置计算 BRIEF 描述子
descriptor->compute(img_1, keypoints_1, descriptors_1);//计算图片1的描述子
descriptor->compute(img_2, keypoints_2, descriptors_2);//计算图片2的描述子
chrono::steady_clock::time_point t2 = chrono::steady_clock::now();//计算耗时
chrono::duration time_used = chrono::duration_cast(t2 - t1);//计算检测角点和计算描述子所用的时间
cout |