一篇文章讲明白Harris角点

简介: 一篇文章讲明白Harris角点

1. 不同类型的角点

在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。从图像分析的角度来定义角点可以有以下两种定义:

角点可以是两个边缘的角点;

角点是邻域内具有两个主方向的特征点;

前者往往需要对图像边缘进行编码,这在很大程度上依赖于图像的分割与边缘提取,具有相当大的难度和计算量,且一旦待检测目标局部发生变化,很可能导致操作的失败。早期主要有Rosenfeld和Freeman等人的方法,后期有CSS等方法。

基于图像灰度的方法通过计算点的曲率及梯度来检测角点,避免了第一类方法存在的缺陷,此类方法主要有Moravec算子、Forstner算子、Harris算子、SUSAN算子等。

这篇文章主要介绍的Harris角点检测的算法原理,比较著名的角点检测方法还有jianbo Shi和Carlo Tomasi提出的Shi-Tomasi算法,这个算法开始主要是为了解决跟踪问题,用来衡量两幅图像的相似度,我们也可以把它看为Harris算法的改进。OpenCV中已经对它进行了实现,接口函数名为GoodFeaturesToTrack()。另外还有一个著名的角点检测算子即SUSAN算子,SUSAN是Smallest Univalue Segment Assimilating Nucleus(最小核值相似区)的缩写。SUSAN使用一个圆形模板和一个圆的中心点,通过圆中心点像素与模板圆内其他像素值的比较,统计出与圆中心像素近似的像元数量,当这样的像元数量小于某一个阈值时,就被认为是要检测的角点。我觉得可以把SUSAN算子看为Harris算法的一个简化。这个算法原理非常简单,算法效率也高,所以在OpenCV中,它的接口函数名称为:FAST() 。

2. Harris角点

2.1 基本原理

人眼对角点的识别通常是在一个局部的小区域或小窗口完成的。如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如果这个特定的窗口在图像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;如果窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的线段。

对于图像I(x,y)I(x,y)I(x,y),当在点(x,y)(x,y)(x,y)处平移(Δx,Δy)(Δx,Δy)(\Delta x,\Delta y)后的自相似性,可以通过自相关函数给出:

c(x,y;Δx,Δy)=∑(u,v)∈W(x,y)w(u,v)(I(u,v)–I(u+Δx,v+Δy))2c(x,y;Δx,Δy)=∑(u,v)∈W(x,y)w(u,v)(I(u,v)–I(u+Δx,v+Δy))2c(x,y;\Delta x,\Delta y) = \sum_{(u,v)\in W(x,y)}//代码效果参考:– I(u+\Delta x,v+\Delta y))^2

其中,W(x,y)W(x,y)W(x,y)是以点(x,y)(x,y)(x,y)为中心的窗口,w(u,v)w(u,v)w(u,v)为加权函数,它既可是常数,也可以是高斯加权函数。

根据泰勒展开,对图像I(x,y)I(x,y)I(x,y)在平移(Δx,Δy)(Δx,Δy)(\Delta x,\Delta y)后进行一阶近似:

I(u+Δx,v+Δy)=I(u,v

相关文章
|
数据可视化 大数据 定位技术
I+关系网络分析发布,提供完整的可视化分析和关系引擎功能
I+关系网络分析是以OLP模型为核心,面向业务快速建模,为开发者和终端用户提供大数据关系计算引擎(含API服务)和可视化交互分析能力,面向安防、关税、银行、保险、互联网等提供的产品化方案。目前,I+关系网络分析已在阿里巴巴、蚂蚁金服集团内广泛应用于反欺诈、反作弊、反洗钱等风控业务。
4887 0
|
算法 数据安全/隐私保护 Windows
|
3月前
|
存储 弹性计算 人工智能
2026阿里云优惠活动参考:优惠券、代金券、云服务器新购和续费活动
2026年,阿里云持续深耕云服务领域,致力于为广大用户提供卓越品质且成本优化的云服务解决方案。为助力用户实现成本节约与效率提升的双重目标,阿里云精心策划了一系列优惠活动,覆盖云服务器ECS、数据库服务、对象存储OSS、网络产品、安全防护及人工智能等多元化产品线。这些活动不仅精准对接不同用户的个性化需求,更进一步削减了运营成本,优化了使用体验。本文为大家整理了2026年阿里云的各项优惠举措,包括优惠券、代金券及云服务器新购和续费活动等,以供广大用户参考与选择。
692 6
|
4月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器 ECS 的区别说明
阿里云轻量应用服务器(Simple Application Server)是基于云服务器 ECS(Elastic Compute Service)推出的轻量级产品,二者在定位、功能及适用场景上存在显著差异。轻量应用服务器侧重简化操作、降低使用门槛,适配轻量场景;云服务器 ECS 则强调高性能、高灵活性,满足复杂业务需求。以下从多维度详细解析二者的区别:
|
5月前
|
机器学习/深度学习 存储 弹性计算
阿里云服务器2核4G租用价格,最新实例收费标准与活动价格及选择参考
租用阿里云服务器2核4G配置多少钱?2025年,企业用户专享的通用算力型u1实例,2核4G配置、5M带宽及80G ESSD Entry云盘的组合,仅需199元即可使用一年,堪称性价比之选。此外,通用算力型u1、通用算力型u2i以及计算型c9i等实例也提供了2核4G配置的优惠,具体价格因带宽、系统盘种类及大小而异。本文将为大家详细梳理2025年阿里云最新活动中的2核4G配置价格,并解析阿里云服务器的公网带宽及系统盘收费标准,以供大家了解和参考。
763 11
|
8月前
|
机器学习/深度学习 数据采集 算法
Python|基于改进粒子群IPSO与LSTM的短期电力负荷预测研究
Python|基于改进粒子群IPSO与LSTM的短期电力负荷预测研究
332 4
|
存储 运维 自然语言处理
研发视角:一个需求应该怎么拆解与实现?
研发过程中,开发同学在接到一个需求后,必须要回答两个问题:做什么(WHAT)、怎么做(HOW)。本文就开发与测试在拆解需求时面临的共性问题,结合自己过往的经验,总结的一个实用的方法。本文不讨论技术选型,仅从思考逻辑上总结应该如何拆解与实现一个给定的需求。欢迎讨论。理解需求拆解的关注点以带UI的需求为示例,来看拆解需求过程中的关注点。看下图,停留20秒,思考两个问题:(1)从无到有实现以下需求对应的
76009 10
研发视角:一个需求应该怎么拆解与实现?
|
JavaScript 索引
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
1249 0
|
人工智能
2025年利用AI更好的辅助诉讼案件管理
### 2024年AI的破局与法律行业应用 随着ChatGPT、Kimi等大模型的出现,AI在语言理解和生成上取得显著突破。案件云平台推出「AI智能填充」功能,通过上传图片或PDF,AI能快速识别并提取关键信息,自动填充案件表单,极大提高了律师的工作效率和准确性。用户只需三步:创建案件、上传文件、确认信息,即可完成案件录入,告别繁琐输入,减少人工错误。

热门文章

最新文章