使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)

本文介绍了如何使用哈里斯角和SIFT算法在图像处理中提取和匹配特征,以实现物体识别和机器人导航。通过Matlab代码示例展示了在不同场景下的应用,包括Notre-Dame、MountRushmore和GaudisEpiscopalPalace的图片匹配。
摘要由CSDN通过智能技术生成

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、报告


💥1 概述

摘要
从不同的图像中提取特征并将它们进行匹配,有着许多应用,如物体识别和机器人导航。在这个项目中,使用哈里斯角Harris 和SIFT算法来实现局部特征匹配的任务。

为了提取图像的最重要特征,采用了哈里斯角算法。该算法使用以下步骤检测角点(兴趣点):
1. 算法
1. 计算x和y方向的导数Ix,Iy。这是通过在两个方向上使用高斯滤波器和Sobel滤波器来完成的。
2. 计算每个像素点处的导数乘积Ix2,Iy2,Ixy。这是以矢量化方式进行,以加快计算速度。
3. 计算每个像素点处的导数乘积之和Sx2,Sy2,Sxy。这是通过将步骤2的输出乘以高斯滤波器来完成的。
4. 在每个像素点定义哈里斯矩阵。同样,这也是以矢量化格式进行的。
5. 计算每个像素点上检测器的响应。再次,这是通过使用矢量化代码完成的。R = Det(H) – k (Trace(H))2。其中,k设定为0.04,如SIFT算法论文中建议的。
6. 进行非极大值抑制。遍历所有点并执行以下步骤:
a. 选择当前点的R值。
b. 获取当前点周围的3×3窗口数值。
c. 如果当前点的R值大于特定阈值(超参数进行调整):
i. 如果当前点的R值是窗口中的最大值
1. 将特征向量沿x和y方向与当前行和列值进行拼接。

SIFT算法在1999年首次提出,并在2004年得到改进,被认为是最著名和鲁棒的特征提取算法。这是因为它对图像的任何变化都是不变的,例如方向、缩放、光照或其他任何因素。
在这个项目中,首先实现了Harris角点算法来获取兴趣点,然后利用SIFT算法进行描述,并最终使用NNDR进行匹配。

📚2 运行结果

v

部分代码:

%% Define image pairs
imagePair = 1;
if imagePair == 1
    % Notre Dame de Paris
    % Easiest
    image1 = imread('../data/NotreDame/921919841_a30df938f2_o.jpg');
    image2 = imread('../data/NotreDame/4191453057_c86028ce1f_o.jpg');
    eval_file = '../data/NotreDame/921919841_a30df938f2_o_to_4191453057_c86028ce1f_o.mat';
elseif imagePair == 2
    % Mount Rushmore 
    % A little harder than Notre Dame
    image1 = imread('../data/MountRushmore/9021235130_7c2acd9554_o.jpg');
    image2 = imread('../data/MountRushmore/9318872612_a255c874fb_o.jpg');
    eval_file = '../data/MountRushmore/9021235130_7c2acd9554_o_to_9318872612_a255c874fb_o.mat';
elseif imagePair == 3
    % Gaudi's Episcopal Palace
    % This pair is difficult
    image1 = imread('../data/EpiscopalGaudi/4386465943_8cf9776378_o.jpg');
    image2 = imread('../data/EpiscopalGaudi/3743214471_1b5bbfda98_o.jpg');
    eval_file = '../data/EpiscopalGaudi/4386465943_8cf9776378_o_to_3743214471_1b5bbfda98_o.mat';
end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、数据、报告

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值