计算机视觉——实验二-图像局部特征描述子

本文详细介绍了Harris角点检测器和SIFT(尺度不变特征变换)算法,包括它们的基本思想、数学表达、优缺点及应用场景。Harris角点检测器对尺度敏感,SIFT则提供尺度不变性且具有更好的稳健性,常用于物体识别和图像匹配。然而,SIFT在处理某些情况时也可能出现不准确的匹配。
摘要由CSDN通过智能技术生成

一、Harris角点检测器

概念:Harris 角点检测算法(也称 Harris & Stephens 角点检测器)是一个简单的角点检测算法。该算法的主要思想是,如果像素周围显示存在多于一个方向的边,我们认为该点为兴趣点。该点就称为角点。


1、角点的特征

局部窗口沿各方向移动,均产生明显变化的点;图像局部曲率突变的点;轮廓之间的交点;对于同一场景,即使视角发生变化,通常具备稳定性质的特征;该点附近区域的像素点无论在梯度方向上还是其梯度幅值上有着较大变化。

2.HARRIS角点检测的基本思想

 

3.HARRIS角点检测的数学表达

 

        w(x,y)表示矩形窗口,I(x,y)表示该点像素的强度,u与v表示窗口的偏移量,若在任意方向都存在着较大灰度的变化,则判断该点是角点。我们可以使用高斯权重矩阵来突出变化较大的点,赋予更大的权值。

使用一阶泰勒公式来简化上述的函数:

 矩阵表示:

                                

 

 

 

 

Harris角点检测算法优点:

        旋转不变性,椭圆转过一定角度但是其形状保持不变(特征值保持不变)。
        对于图像灰度的仿射变化具有部分的不变性,由于仅仅使用了图像的一介导数,对于图像灰度平移变化不变;
        对于图像灰度尺度变化不变。

Harris角点检测算法缺点:

        它对尺度很敏感,不具备几何尺度不变性。
        提取的角点是像素级的

 4.HARRIS角点检测实例

from pylab import *
from PIL import Image
from PCV.localdescriptors import harris


# 读入图像
im = array(Image.open('./img/JMU.jpg').convert('L'))
# 检测harris角点
harrisim = harris.compute_harris_response(im)
# Harris响应函数
harrisim1 = 255 - harrisim

figure()
gray()
#画出Harris响应图
subplot(141)
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.get_harris_points(harrisim, 6, thres)
    subplot(1, 4, i+2)
    imshow(im)
    print(im.shape)
    plot([p[1] for p in filtered_coords], [p[0] for p in filtered_coords], '*')
    axis('off')

show()

(a)为 Harris 响应函数;(b、c、d)分别为使用阈值 0.01、0.05 和 0.1 检测出的角点

        由以上结果我们可以知道:增大α的值,将减小角点响应值R,降低角点检测的灵性,减少被检测角点的数量;减小α值,将增大角点响应值R,增加角点检测的灵敏性,增加被检测角点的数量。使用阈值 0.01、0.05 和 0.1 检测出的角点依次减少。

5、图像中寻找对应点

        Harris 角点检测器仅仅能够检测出图像中的兴趣点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值