计算机视觉——Harris角点检测

本文详细介绍了Harris角点检测方法,包括角点定义、检测原理、特性以及代码实现,并通过不同场景的实验展示了其对亮度、角度和距离变化的反应,证实了Harris角点检测算子的旋转不变性和对亮度变化的不敏感性,但不具有尺度不变性。
摘要由CSDN通过智能技术生成

1 特征检测

1.1特征检测定义

特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。

1.2特征定义

特征就是有意义的图像区域,该区域具有独特特征和易于识别性。因此角点及高密度区域都是很好的特征,而大量重复的模式或低密度区域(例如图像中的蓝色天空)则不是很好的特征。边缘可以将图像分为两个区域,因此也可以看做好的特征。斑点是与周围有很大差别的像素区域,也是有意义的特征。

2 Harris角点检测

2.1角点定义

角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。角点在三维场景重建运动估计,目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。从图像分析的角度来定义角点可以有以下两种定义:
a.角点可以是两个边缘的角点
b. 角点是邻域内具有两个主方向的特征点

2.2Harris角点检测基本原理

哈里斯角点是在任意方向上移动(u,v),都会有很明显的变化。如下图一个局部很小的区域,如果是在图片区域中移动灰度值没有变化,那么窗口内不存在角点。如果在某一个方向上移动,一个发生很大变化而另一侧没有变化,那么说明这个区域是位于该对象的边缘区域。
在这里插入图片描述
其表达式为:
在这里插入图片描述
其含义是对于图像I(x,y),在点(x,y)处平移(u,v)后的自相似性。其中w(x,y)是加权函数,它可以是常数,也可以是高斯加权函数。如下图所示。
在这里插入图片描述
根据泰勒展开和一些数学步骤后可得到如下结果
在这里插入图片描述
其中
在这里插入图片描述
公式中Ix和Iy是在x和y方向获取的区域。最后转化为R=det(M) - k(trace(M))^2,该公式决定了一个区域内是否包含角特征。
公式中
det(M) = λ1λ2
trace(M) = λ1+λ2
λ1和λ2是M的特征值。
这些特征值决定了一个区域是角,边缘还是平面。
当|R|很小时,即λ1和λ2很小时,该区域时平面。
当 R < 0时,即λ1远远大于λ2或者λ2远远大于λ1时,该区域时直线。
当 R很大时,即λ1和λ2都很大且近似相等,该区域时角点。
关系如下图:

在这里插入图片描述
2.3Harris角点性质

1 该算法算子对亮度和对比度的变化不敏感。
2 算子具有旋转不变性。
3 算子不具有尺度不变性。

2.4代码实现

# -*- coding: utf-8 -*-
from pylab import *
from PIL import Image
from PCV.localdescriptors import harris

# 读入图像
im = array(Image.open('E:/picture/1-1.png').convert('L'))

# 检测harris角点
harrisim = harris.compute_harris_response(im)

# Harris响应函数
harrisim1 = 255 - harrisim

figure()
gray()

#画出Harris响应图
subplot(121)
suptitle("Harris corners")
imshow(harrisim1)
print (harrisim1.shape)
axis('off')
axis('equal')

threshold = [0.01, 0.05, 0.1]
for i, thres in enumerate(threshold):
    filtered_coords = harris
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值