计算机视觉——局部图像描述子

本文深入探讨了计算机视觉中的局部图像描述子,包括Harris角点检测器的基本思想、数学表达及其代码实现,以及SIFT算法的详细介绍、关键点检测、方向分配和匹配的步骤。内容涵盖SIFT的尺度不变性和旋转不变性,旨在揭示图像特征提取的关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一:Harris角点检测器

1.1角点的解释

1.2Harris角点检测基本思想

1.3harris检测:数学表达

 1.4代码部分

二:SIFT

2.1.SIFT介绍

2.2 SIFT算法实现步骤简述

2.3 关键点检测

 2.4 关键点检测——DOG

2.5关键点方向分配

2.6关键点匹配

 2.7代码部分


一:Harris角点检测器

1.1角点的解释

角点是一阶导数(即灰度的梯度)的局部最大所对应的像素点;也是两条及两条以上边缘的交点。角点指示了物体边缘变化不连续的方向,角点处的一阶导数最大,二阶导数为0。角点是指图像中梯度值和梯度方向的变化速率都很高的点。下图为不同类型的角点:

1.2Harris角点检测基本思想

角点定义 <- 窗口向任意方向的移动都导致图像灰度的明 显变化

从图像局部的小窗口观察图像特征:

1.3harris检测:数学表达

将图像窗口平移[u,v]产生灰度变化E(u,v)

有泰勒公式展开可得:(Ix,Iy 分别为偏导数,在图像中为图像的方向导数)

I(x+u,y+v)=I(x,y)+Ix∗u+Iy∗v+O(u^2,v^2)

E(u,v)=sum[w(x,y)[Ix∗u+Iy∗v+O(u^2,v^2)]^2]

可以近似得到:E(u,v)=sum[w(x,y)[Ix∗u+Iy∗v]^2]

 令

因此最后对角点的检测成了对矩阵M的特征值的分析了,令M其特征值为x1,x2

当x1>>x2或者x2>>x1,则检测到的是边缘部分

当x1,x2都很小,图像窗口在所有移动的方向上移动灰度级都无明显变化.

当X1,X2都很大时且相当,检测到的是角点

 1.4代码部分

from PIL import Image
from numpy import *
from pylab import *
from scipy.ndimage import filters

def compute_harris_response(im, sigma=3):

    #计算x方向的导数
    imx = zeros(im.shape) #zeros()生成全零数组
    filters.gaussian_filter(im, (sigma,sigma),(0,1),imx)

    #计算x方向的导数
    imy = zeros(im.shape) #zeros()生成全零数组
    filters.gaussian_filter(im, (sigma,sigma),(0,1),imy)

    #计算harris矩阵的分量
    Wxx 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值