| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> OpenCV图像特征提取学习一,Harris图像角点检测算法 -> 正文阅读 |
|
[人工智能]OpenCV图像特征提取学习一,Harris图像角点检测算法 |
一、角点检测特征点检测广泛应用到目标匹配、目标跟踪等应用中,在进行目标建模时会对图像进行目标特征的提取,常用的有颜色、角点、特征点、轮廓、纹理等特征。其中Harris角点检测是特征点检测的基础,提出了应用邻近像素点灰度差值概念,从而进行判断是否为角点、边缘、平滑区域。 Harris角点检测原理是利用移动的窗口在图像中计算灰度变化值,算法基本思想是使用一个固定窗口在图像上进行任意方向上的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么计算机就认为该窗口中存在角点。 --------------------------------------------------------------------------------------------------------------------------------- 二、角点特征角点是一幅图像上最明显与重要的特征,对于一阶导数而言,角点在各个方向的变化是最大的,而边缘区域在只是某一方向有明显变化。该点附近区域的像素点无论在梯度方向上还是其梯度幅值上有着较大变化: 在平坦区域上,窗口向各个方向移动均没有明显的梯度变化 ? 在边缘区域内,窗口向平行于边缘方向移动,图像梯度变化不大,垂直于边缘方向移动,图像梯度变化很大。 ? ?在角度区域内,窗口向任意方向移动,图像梯度的变化有着明显变化 --------------------------------------------------------------------------------------------------------------------------------- 三、Harris角点检测数学原理Harris角点检测是通过数学计算在图像上发现角点特征的一种算法,而且其具有旋转不变性的特质。角点是一幅图像上最明显与重要的特征,对于一阶导数而言,角点在各个方向的变化是最大的,而边缘区域在只是某一方向有明显变化。Harris角点检测基本数学公式如下:? ? ? ? ? ?? 公式说明: 公式中是一个与图像尺寸一样的的一个矩阵;???表示方形的二值窗口,若像素点在窗口内,则取值为1,否则为0;??表示x,y处像素灰度值强度,范围为0~255。任何一个函数表达式,均可有泰勒公式进行展开,以逼近原函数,我们可以对下面函数进行一阶展开。 泰勒公式进行展开: 计算权重窗口的取值为1,其中为图像在x方向上和y方向上的图像梯度,可以使用Sobel算子进行求取,Harris角点检测算法原理可以近似为: ? ? ? ? ? ? ? ? ? ? ? ? ? 对于局部微小的移动量,可以近似得到下面的表达: ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ?? 四、harris角点响应函数R? ? ?(1)矩阵M,将其对角化之后 ,特征值λ1, λ2 分别代表了X 和Y 方向的灰度变化率. (2)通过M的两个特征值λ1, λ2的大小对图像点进行分类 如果λ1, λ2都很小, 图像窗口在所有方向上移动都无明显灰度变化。 ?(3)定义角点响应函数R ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如下图所示,R只与M的特征值有关,判定关系为,角点:R 为大数值正数;边缘:R为大数值负数;平坦区:R为小数值; 对角点响应函数R进行阈值处理操作; 当时,定义为角点,最后对所有提取出的角点进行非极大值抑制,提取R的局部极大值。角点响应函数R对于旋转具有不变性,对于图像的灰度变化具有部分不变性,对于图像尺度变化不8具有不变性。一个好的角点沿着任意方向移动都将导致明显的图像灰度变化,即:R具有大的正数值,对于k值,我们一般取0.04~0.06。 cornerHarris 函数API接口:
参数说明: 第一个参数src,输入8bit单通道灰度Mat矩阵 --------------------------------------------------------------------------------------------------------------------------------- 代码实现
--------------------------------------------------------------------------------------------------------------------------------- 图像处理效果 ?threshold = 130时的图像效果 ?threshold = 130时的图像效果 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:26:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |