Detecção de ponto de recurso (1): detecção de ponto de recurso ORB
Prefácio
Os pontos de recurso ORB adicionam descrições de escala e direção com base nos pontos de recurso FAST e nos descritores de recursos BREVE, primeiro explicam o princípio dos pontos de recursos ORB e depois usam o código para obter a extração de pontos de recursos
Pontos de recurso ORB
Trecho do artigo: (É muito tempo e esforço para se bater)
[1] Xu Kuan. Pesquisa sobre SLAM visual binocular mesclada com informações da IMU [D]. Harbin Institute of Technology, 2018.
1. Pontos de recurso RÁPIDOS
2. Descritor de Recursos BREIF
3. características do ORB
Código
win10 + VS2015 + OpenCV3.3.0 (implementado pela própria função opencv)
#include"stdafx.h"
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
//读图
Mat img = imread("E:/images/1.jpg");
Mat img_gray = img;
Mat img_output;
//转为灰度图
cvtColor(img_gray, img_gray, CV_RGB2GRAY);
//提取特征点
vector<KeyPoint> keypoints;
Ptr<FeatureDetector> detector = ORB::create();
detector->detect(img_gray, keypoints);
//计算描述子
Mat descriptors;
Ptr<DescriptorExtractor> descriptor = ORB::create();
descriptor->compute(img_gray, keypoints, descriptors);
//画出特征点
drawKeypoints(img, keypoints, img_output, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
//显示
imshow("opencv提取ORB特征点", img_output);
waitKey(0);
return 0;
}