FAST是一种用于角点检测的算法,该算法的原理是取图像中检测点,以改点为圆心的周围邻域内像素点判断监测点是否为角点。
OpenCV中的FAST检测算法是用传统方法实现的。

实例化fast

fast = cv.FastFeatureDetector_create(threshold, nonmaxSuppression)

参数:

  • threshold:阀值t,有默认值10
  • nonmaxSuppression:是否进行非极大值抑制,默认值True

返回:

  • Fast:创建的FastFeatureDetector对象

利用fast.detect检测关键点,没有对应的关键点描述

kp = fast.detect(igrayImg, None)

参数:

  • gray:进行关键点检测的图像,注意是灰度图形

返回:

  • kp:关键点信息,包括位置,尺度,方向信息

将关键点检测结果绘制在图像上

cv.drawKeypoints(image, keypoints, outputimage, color, flags)

代码实现

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt# 1.读取图像
img = cv.imread("./1.jpg")# 2.Fast角点检测
# 2.1创建一个Fast对象,传入阀值,注意:可以处理彩色空间图像
fast = cv.FastFeatureDetector_create(threshold=30)# 2.2检测图像上的关键点
kp = fast.detect(img, None)# 2.3在图像上绘制关键点
img2 = cv.drawKeypoints(img, kp, None, color=(0, 0, 255))# 2.4输出默认参数
print("Threshold:{}".format(fast.getThreshold()))
print("nonmaxSuppression:{}".format(fast.getNonmaxSuppression()))
print("neighborhood:{}".format(fast.getType()))
print("Total Keypoints with nonmaxSuppression:{}".format(len(kp)))# 2.5关闭非极大值抑制
fast.setNonmaxSuppression(0)
kp = fast.detect(img, None)print("Total Keypoints without nonmaxSuppression:{}".format(len(kp)))# 2.6绘制为进行非极大值抑制效果
img3 = cv.drawKeypoints(img, kp, None, color=(0, 0, 255))# 3.绘制图像
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100)
axes[0].imshow(img[:, :, ::-1])
axes[0].set_title("原图")
axes[1].imshow(img2[:, :, ::-1])
axes[1].set_title("加入非极大值抑制")
axes[2].imshow(img3[:, :, ::-1])
axes[2].set_title("未加入非极大值抑制")
plt.show()


Fast算法:
若一个像素周围有一定数量的像素与该点像素值不同,则认为其为角点。

Fast算法的缺点:

  • 获取的候选点比较多
  • 特征点的选取不是最优的,因为它的效果取决于要解决的问题和角点的分布情况。
  • 进行非特征点判别时大量的点被丢弃
  • 检测到的很多特征点都是相邻的

前 3个问题可以通过机器学习的方法解决,最后一个问题可以使用非最大值抑制的方法解决。

Fast算法比其它角点的检测算法快,但是在噪声较高时不够稳定,这需要设置合适的阀值。

OpenCV Fast角点检测相关推荐

  1. OpenCV —— 角点检测之 Harris 角点检测、Shi-Tomasi 角点检测、FAST 角点检测

    角点检测 Harris 角点检测 实现原理 OpenCV 函数 优化 Shi-Tomasi 角点检测 实现原理 OpenCV 函数 FAST 角点检测 实现原理 OpenCV 函数 优化 在图像处理和 ...

  2. 图像局部特征(三)--FAST角点检测子

    Features From Accelerated Segment Test 1. FAST算法原理 博客中已经介绍了很多图像特征检测算子,我们可以用LoG或者DoG检测图像中的Blobs(斑点检测) ...

  3. FAST角点检测算法(二)- 非极大值抑制筛选fast特征点

    FAST角点检测算法(二)- 非极大值抑制筛选fast特征点 author@jason_ql(lql0716) http://blog.csdn.net/lql0716 fast角点检测算法参考文章& ...

  4. 角点检测和匹配之Harris与FAST角点检测

    这一章主要内容: 1. Harris角点检测 2. FAST特征检测 3. 尺度不变的SURF特征检测 4.SURF检测描述 一.引言 在计算机视觉中,特征点或称兴趣点,角点(即图像的极值点,线段的终 ...

  5. MFC+OPENCV实现角点检测

    MFC+OPENCV实现角点检测: // 角点检测 // 根据<基于OpenCV的计算机视觉技术实现>#define max_corners 200; // 限定的最大角点数IplImag ...

  6. OpenCV ChArUco角的检测

    OpenCV ChArUco角的检测 ChArUco角的检测 目标 源代码 ChArUco Board创建 ChArUco板检测 拍摄输入图像 读取相机校准参数(仅用于相机校准检测) 检测标记 ChA ...

  7. 基于光强的角点检测(SUSAN角点检测、FAST角点检测、FAST-ER角点检测)

    Corner Feature Detector(Intensity-Based) 基于光强比较的角点检测,直接比较光强(像素灰度值),而不计算梯度.所以实时性更好,所需的存储空间更小. SUSAN 角 ...

  8. fast角点检测 java_米联客 ZYNQ/SOC 精品教程 S04-CH11 快速角点检测之硬件实现

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  9. 【opencv】角点检测——虚线表格

    [opencv]角点检测--虚线表格 处理对象--虚线表格 处理方法--角点检测 Harris角点检测 函数解读 处理结果 处理对象--虚线表格 把之前做研电赛的东西做一点小的分享,先给大家看一下所处 ...

最新文章

  1. ROS Hotspot服务器的搭建与设定!(上网认证)
  2. forward 方法详解 java_详解Java从后台重定向(redirect)到另一个项目的方法
  3. Mybatis中的resultType与resultMap区别
  4. ExtJs Panel 滚动条设置
  5. Web:你知道我这十几年是怎么过来的吗?!
  6. 6、struts.properties配置详解
  7. Android之如何解决popupWindow(pw.setFocusable(true))按返回键和menu键退出
  8. CF750E-New Year and Old Subsequence【动态dp】
  9. jax-rs jax-ws_在JAX-RS中处理异步请求中的超时
  10. python 无序列表中第k大元素_Python要求O(n)复杂度求无序列表中第K的大元素实例...
  11. HTML滚动条自定义
  12. html怎么用js播放音频,用Javascript播放音频?
  13. jsp,servlet交互驱动层实现
  14. FreeRTOS的内存管理
  15. MATLAB如何生成scr文件,基于matlab生成的scr文件,实现autocad曲线绘制,代码问题...
  16. 直流无刷电机无感检测电路原理
  17. CAD图纸的保存格式DWG DWF DXF互相转换是怎么操作的?
  18. OJ上runtime error报错原因
  19. 双ip的oracle集群该怎么连接,如何配置电信联通双线双IP接入
  20. SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-003-四种方式获取DataSource...

热门文章

  1. 【打CF,学算法——二星级】Codeforces Round #313 (Div. 2) B. Gerald is into Art(水题)...
  2. fir.im Weekly - 让 iOS 应用更加安全
  3. java 的23种设计模式 之装B者模式
  4. WebService 用户名密码验证
  5. MS SQL基础:注释符、运算符与通配符
  6. 基于自然语言的软件工程和程序设计(下)
  7. 鸿蒙正式推送时间,鸿蒙系统现已正式推送,更新名单也随之出炉,包括荣耀手机!...
  8. Hbase常用操作(增删改查)
  9. Android 操作SQLite基本用法
  10. 绘制业务流程图:流程图绘制工具