当前位置:   article > 正文

MATLAB 图像特征点检测(6个方法)_matlab hurrris特征点

matlab hurrris特征点

本文介绍如何使用 MATLAB 进行图像特征检测,包括 BRISK、MSER、FAST、Harris、SURF 和 MinEigen 特征检测方法,并展示相应的代码和结果图。
在这里插入图片描述

图像读取

clc,clear;
I = imread('cameraman.tif');
  • 1
  • 2

1. BRISK 特征检测

points = detectBRISKFeatures(I);
figure(1),imshow(I); hold on;title('BRISK Features');
plot(points.selectStrongest(20));
  • 1
  • 2
  • 3

参数说明

  • MinContrast:角及其周围区域之间的最小强度差。
  • MinQuality:角的最小可接受质量。
  • NumOctaves:实现的八度字节数。

2. MSER 特征检测

regions = detectMSERFeatures(I);
figure(2);subplot(211),imshow(I); hold on;title('MSER Features');
plot(regions,'showPixelList',true,'showEllipses',false);
subplot(212),imshow(I); hold on;plot(regions);
  • 1
  • 2
  • 3
  • 4

参数说明

  • ThresholdDelta:强度阈值级别之间的步长。
  • RegionAreaRange:区域的大小。
  • MaxAreaVariation:极值区域之间的最大面积变化。

3. FAST 特征检测

corners = detectFASTFeatures(I);
figure(3),imshow(I); hold on;title('FAST Features');
plot(corners.selectStrongest(50));
  • 1
  • 2
  • 3

参数说明

  • MinQuality:角的最小可接受质量。
  • MinContrast:角和周围区域之间的最小强度差。

4. Harris 特征检测

corners = detectHarrisFeatures(I);
figure(4),imshow(I); hold on;title('Harris Features');
plot(corners.selectStrongest(50));
  • 1
  • 2
  • 3

参数说明

  • MinQuality:角的最小可接受质量。
  • FilterSize:高斯滤波器尺寸。

5. SURF 特征检测

points = detectSURFFeatures(I);
figure(5),imshow(I); hold on;title('SURF Features');
plot(points.selectStrongest(10));
  • 1
  • 2
  • 3

参数说明

  • MetricThreshold:最强的特征阈值。
  • NumOctaves:实现的八度字节数。
  • NumScaleLevels:每个八度的刻度级别数。

6. MinEigen 特征检测

corners = detectMinEigenFeatures(I);
figure(6);imshow(I); hold on;title('MinEigen Features');
plot(corners.selectStrongest(50));
  • 1
  • 2
  • 3

参数说明

  • MinQuality:角的最小可接受质量。
  • FilterSize:高斯滤波器维度。

结果展示

在这里插入图片描述

结果分析

每种特征检测方法都有其独特的优势和应用场景。本文展示了如何在 MATLAB 中使用这些方法进行特征检测,并对各自的参数进行了说明和调节。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/898890
推荐阅读
相关标签
  

闽ICP备14008679号