OpenCV_Corner Detect with FastFeatureDetector(基于FAST的角点检测) 及 SUSAN算子
目录
一. 概念
Fast角点检测内部实现:
优缺点:
二. 代码
三. 运行结果
四. 拓展对比_SUSAN算子
简介:
内部实现:
计算步骤:
优缺点:
一. 概念
Fast角点检测内部实现:
cv:FastFeatureDectctor
Harris算法的一个简化: 利用少数像素比较数量,来确定是否接受一个特征点。
通过检测候选像素,周围一圈的像素 16个点来决定是否可以接受一个特征点,如果与中心点差异较大(阈值控制)的像素可以组成一个连续的圆弧,并且弧长大于圆周长的3/4,那么我们认为找到了一个特征点。
效率高的原因: 首先价检测周围 上下左右 4个点,如果至少有3个点的灰度值大于或小于中心像素,再去计算圆周上的其他点,如果不成立,直接舍弃。实践中,大部分像素点可以直接被舍弃,因此速度比较高。
优缺点:
优点: 运算速度快,效率高。
缺点: 当图片中的噪点较多时,它的健壮性并不好
FAST不具备尺度不变特,
特征点没有方向信息,失去了旋转不变性
类似算法 susan算子
二. 代码
#include "stdafx.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/features2d/features2d.hpp> //引用cv::KeyPoint 特征检测器通用接口int main()
{cv::Mat image = cv::imread("../../aTestImage/Buildingsm.jpg", 0);std::vector <cv::KeyPoint> keypoints;cv::FastFeatureDetector fast(40);fast.detect(image, keypoints); //检测中心点一圈圆周上16个像素 //与中心点差异较大的像素组成的圆弧 若能构成圆周的3/4,则认为找到了特征点cv::drawKeypoints(image, keypoints, image,cv::Scalar(255, 255,255), cv::DrawMatchesFlags::DRAW_OVER_OUTIMG);cv::namedWindow("FAST Features");cv::imshow("FAST Features", image);cv::waitKey(0);return 0;
}
三. 运行结果
四. 拓展对比_SUSAN算子
简介:
简称:Smallest Univalue Segment Assimilating Nucleus 最小核心值相似区域算子 ['suzn]
应用: 检测直线和角点
内部实现:
opencv中: cvGoodFeaturesToTrack
用一个圆形模板在图像上移动,若模板内的像素灰度与模板中心(被称为“核”——Nucleus)的像素灰度值之差小于一定的阈值,则认为该点与核Nucleus具有相同的灰度,满足该条件的像素组成的区域就称为USAN。根据USAN区域的大小来检测边缘、角点等特征的位置和方向信息。
分析图像可知,边缘处的点的USAN值,小于或等于最大值一半。在边缘或角点处的USAN值最小
计算步骤:
1. 根据相似度 (像素差值的大小),二值化圆形模板中(37个像素=6*6)的每个像素值
2. 统计USAN区域的值 我们可以称为USAN值,反映USAN区域的大小。
3. 使用非极大值抑制来寻找角点。计算边缘响应,通过设定一个阈值,确定边缘或角点
提取边 = 3/4 * 最大USAN值
角点 = 1/2 * 最大USAN值
优缺点:
优点:
运算量也比较小 (0 1 运算 )
抗噪声能力很强,基于对周边象素的灰度比较,完全不涉及梯度的运算
既能检测边缘,又能检测角点
缺点:
准确性受选择阈值的影响,选择合适的阈值需要功夫。
角点似乎比不过harris,边缘似乎比不过Canny。
OpenCV_Corner Detect with FastFeatureDetector(基于FAST的角点检测) 及 SUSAN算子相关推荐
- 基于光强的角点检测(SUSAN角点检测、FAST角点检测、FAST-ER角点检测)
Corner Feature Detector(Intensity-Based) 基于光强比较的角点检测,直接比较光强(像素灰度值),而不计算梯度.所以实时性更好,所需的存储空间更小. SUSAN 角 ...
- harris角点检测_角点检测(2) - harris算子 - 理论与Python代码
数字图像,图像=矩阵,[m*n]从[0,255]的灰度值 角点检测:物体边缘的拐点 ->应用:图像匹配与检索.图像物体形变恢复(摄像机标定).三维重建 Harris角点检测(早期,原理简单,视频 ...
- 角点检测和匹配之Harris与FAST角点检测
这一章主要内容: 1. Harris角点检测 2. FAST特征检测 3. 尺度不变的SURF特征检测 4.SURF检测描述 一.引言 在计算机视觉中,特征点或称兴趣点,角点(即图像的极值点,线段的终 ...
- OpenCV —— 角点检测之 Harris 角点检测、Shi-Tomasi 角点检测、FAST 角点检测
角点检测 Harris 角点检测 实现原理 OpenCV 函数 优化 Shi-Tomasi 角点检测 实现原理 OpenCV 函数 FAST 角点检测 实现原理 OpenCV 函数 优化 在图像处理和 ...
- 激光雷达角点检测 c语言,一种基于事件帧的角点检测方法与流程
本发明属于图像处理领域,用于解决基于事件相机的SLAM项目的角点检测. 背景技术: 在过去几十年里,由于计算机视觉算法的研究与发展,人们对机器人感知的兴趣也日益增加.这种传统相机能够捕获相机周围环境的 ...
- 基于曲线曲度或类曲度的角点检测方法总结
摘要: 主要介绍了基于曲线曲度的角点检测方法,不仅介绍了早期的曲度计算方法,还包括了CSS方法.CPDA方法.样条曲线参数估计曲度方法.协方差矩阵估计曲度方法等,最后还给出了针对这些方法最新的一些改进 ...
- Harris角点检测python实现及基于opencv实现
写在前面: 黄宁然, 七月,骄阳似火. 参考文献镇楼: [1]袁志聪,基于harris特征的点云配准方法研究 [2]高亭,基于改进Harris角点检测的印刷体文档图像检索技术 [3]景庆阳,基于har ...
- opencv角点检测学习总结
学习opencv 角点检测 如果一个点在两个正交方向上都有明显的导数,则我们认为此点更倾向于是独一无二的,所以许多可跟踪的特征点都是角点. 一下为角点检测中用到的一些函数 cvGoodFeatures ...
- 图像处理--角点检测
角点及角点检测 角点是图像的一种重要局部特征,它决定了图像中目标的形状,所以在图像匹配. 目标描述与识别以及运动估计.目标跟踪等领域,角点提取具有十分重要的意义.在计 算机视觉和图像处理中,对于角点的 ...
- 【事件相机整理】角点检测与跟踪总结
本文仅用于自己学习整理,不保证内容的完整性和准确性,仅供其他朋友参考.转载请注明出处. 前言 角点检测与跟踪,是特征提取与跟踪(Feature tracking)下研究较多的内容.相对其他上层任务来说 ...
最新文章
- Zookeeper整理(一)- 写操作产生事件,写操作与Watcher对应关系
- js中propertyIsEnumerable()方法使用介绍
- Istio-0.8.0在Minikube环境中快速启动Bookinfo示例
- 军事科学院医学研究院认知与脑科学研究团队2020年诚聘启事
- JS实现sleep功能 JS遍历document对象
- SQL注入漏洞修复办法
- centos php71,CentOS 71编译安装PHP7
- ccf_201712-02
- python pca降维_协方差矩阵的计算、PCA
- Web UI设计师的CSS优化工具 25+
- R语言的常用函数速查
- html 下拉怎么固定表头,HTML Table 固定表头简单实现
- 原创|批处理|批处理安卓log抓取工具
- python 股票竞价数据_百度竞价的数据分析怎么做
- Matplotlib显示灰度图
- what is denoise
- 剪刀石头布(胜率提示)
- 金山词霸字典转换工具
- 浙江大学计算机学院博士论文格式,博士学位论文格式模板(浙江大学博士论文模板样例)...
- HTML+CSS flex弹性布局
热门文章
- Linux Mysql5.6安装
- .NetCore源码阅读笔记系列之Security (四) Authentication AddJwtBearer
- BIOS、BootLoader、uboot对比
- bootstrap基础样式学习(一)
- Python学习三|列表、字典、元组、集合的特点以及类的一些定义
- js动态计算移动端rem
- Codechef Black Nodes in Subgraphs(树型背包)
- Python基础(7) - 函数
- (转)ASP.NET程序中常用代码汇总
- memcached—如何在Windows操作系统中安装、启动和卸载memcached