当前位置: 首页 > news >正文

[opencvsharp]C#基于Fast算法实现角点检测

角点检测算法有很多,比如Harris角点检测、Shi-Tomas算法、sift算法、SURF算法、ORB算法、BRIEF算法、Fast算法等,今天我们使用C#的opencvsharp库实现Fast角点检测

【算法介绍】

fast算法
Fast(全称Features from accelerated segment test)是一种用于角点检测的算法,
该算法的原理是取图像中检测点,以该点为圆心的周围邻域内像素点判断检测点是否为角点,
通俗的讲就是若一个像素周围有一定数量的像素与该点像素不同,则认为其为角点.

基本流程:
1.在图像中选取一个像素点p,来判断它是不是关键点.Ip等于点p的灰度值.
2.以r为半径,覆盖p点周围M个像素,通常情况下,设置r=3,则M=16
3.设置一个阈值t,如果在这16个像素点中存在n个连续像素点的灰度值都高于Ip+t,或者低于
Ip-t,那么像素点p就被认为是一个角点,n一般取值为12
4.由于检测特征点时是需要对所有的像素点进行监测,然而图像中绝大多数点都不是特征点,如
果对每个像素点都进行上述的检测过程,那显然浪费许多时间,因此采用一种进行非特征点判 别的方法:首先对候选点的周围每个90度的点:1,9,5,13进行测试(先测1和9,如果他们符合阈值
要求,再测5和13).如果p是角点,那么这是个点中至少有3个要符合阈值要求,否则直接剔除,
对保留下来的点再继续进行测试

虽然这个检测器的效率很高,但它有一下几个缺点:
.获得的候选点比较多
.特征点的选取不是最优的,因为它的效果取决于与要解决的问题的角点的分布情况
.进行非特征点判别时大量的点被丢弃
.检测到的很多特征点都是相邻的
前3个问题可以通过机器学习的方法解决,最后一个问题可以使用非最大值抑制的方法解决

【效果展示】

【测试环境】

vs2019

networkframework4.7.2

opencvsharp4.8.0

【源码下载】 

https://download.csdn.net/download/FL1623863129/88799767

【参考文献】

[1] blog.csdn.net/wyw0000/article/details/128981785

相关文章:

  • 那些知名的IT证书 之 AWS篇
  • 802.11 MAC帧介绍
  • element-ui link 组件源码分享
  • SpringCloud-Eureka
  • 日本通运:通过RPA每年节省34万工时,释放18,000个工作岗位
  • 智能指针——浅析
  • 如何发布自己的npm包:
  • 用两个队列实现栈
  • Day 17------C语言收尾之链表的删除、位运算、预处理、宏定义
  • 开源模型应用落地-业务优化篇(三)
  • logback日志配置
  • mongodb数据库集合(表)的创建和数据修改
  • 虹科技术|一文详解IO-Link Wireless技术如何影响工业无线自动化
  • MySQL分区的优缺点
  • 分类预测 | Matlab实现GAF-PCNN-MATT格拉姆角场和双通道PCNN融合多头注意力机制的分类预测/故障识别
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • HTML5新特性总结
  • jquery cookie
  • JS字符串转数字方法总结
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 分享几个不错的工具
  • 关于springcloud Gateway中的限流
  • 机器学习 vs. 深度学习
  • 力扣(LeetCode)357
  • 区块链技术特点之去中心化特性
  • 容器服务kubernetes弹性伸缩高级用法
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 双管齐下,VMware的容器新战略
  • 跳前端坑前,先看看这个!!
  • 我的业余项目总结
  • 新版博客前端前瞻
  • (初研) Sentence-embedding fine-tune notebook
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Core WebAPI中封装Swagger配置
  • .NET 命令行参数包含应用程序路径吗?
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .net流程开发平台的一些难点(1)
  • .sdf和.msp文件读取
  • @Bean注解详解
  • @private @protected @public
  • @Transaction注解失效的几种场景(附有示例代码)
  • [04] Android逐帧动画(一)
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [Android]How to use FFmpeg to decode Android f...
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [C#]使用DlibDotNet人脸检测人脸68特征点识别人脸5特征点识别人脸对齐人脸比对FaceMesh
  • [CF482B]Interesting Array
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [C语言]——柔性数组