特征点的检测(一):ORB特征点检测

特征点的检测(一):ORB特征点检测

前言

ORB 特征点是在 FAST 特征点和 BRIEF 特征描述子的基础上添加了尺度和方向的描述,首先讲解ORB特征点原理,然后用代码实现特征点提取

ORB特征点

摘自论文:(自己敲实在太费时费力啦)
[1]徐宽. 融合IMU信息的双目视觉SLAM研究[D].哈尔滨工业大学,2018.

1、FAST特征点

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2、BREIF特征描述子

在这里插入图片描述
在这里插入图片描述

3、ORB特征

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

代码

win10+VS2015+OpenCV3.3.0(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;
}

在这里插入图片描述

发布了26 篇原创文章 · 获赞 0 · 访问量 1206

猜你喜欢

转载自blog.csdn.net/weixin_44264994/article/details/103821650