Harris角点检测+sift描述匹配

本文探讨了在图像处理中使用Harris角点检测算法寻找图像边缘特征点,并结合SIFT描述符进行匹配的过程。在MATLAB和OpenCV中找到了实现方法。MATLAB版本虽然存在少量误匹配,但可以通过参数调整改善。OpenCV的goodFeaturesToTrack提供了Shi-Tomasi角点检测,能有效控制特征点密度,但误匹配问题较严重,采用BruteForce匹配方式。

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

    最近用到:Harris检测图像中边缘处的特征点,并且需要两张图特征点匹配起来。Harris只是一个角点检测的算法,最终只得到特征点坐标,想要匹配需要描述,而Harris是单尺度的,自己写描述函数又有些麻烦。找到MATLAB和opencv都有集成的函数:

MATLAB版本通过调节参数,效果还可以,存在一定的误匹配。

clc,clear
%读取、灰度化、显示
I1= imread('sample_01.jpg');  
I1=rgb2gray(I1);  %把RGB图像变成灰度图像
% figure
% imshow(I1)

I2= imread('sample_10.jpg');   
I2=rgb2gray(I2);
% figure
% imshow(I2)

%寻找特征点  
points1 = detectHarrisFeatures(I1,'MinQuality',0.002);  %读取特征点,'MinQuality',0.005
% points2 = detectSURFFeatures(I2);   
points2 = detectHarrisFeatures(I2,'MinQuality',0.002); 

figure
imshow(I1);
hold on;
plot(points1);

figure
imshow(I2);
hold on;
plot(points2);

%Extract the features.计算描述向量  
[f1, vpts1] = extractFeatures(I1, points1);  
[f2, vpts2] = extractFeatures(I2, points2);  

%进行匹配  
indexPairs = matchFeatures(f1, f2,'Method','NearestNeighborSymmetric','MatchThreshold',20) ;  
%用'Method','NearestNeighborSymmetric',阈值调节用'MatchThreshold',范围0-100,表示选择最强的匹配的百分比,
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值