您的位置:首页 > 编程语言 > MATLAB

Matlab-vision包学习-Feature Detection,Extraction and Matching-SURF检测blob

2015-10-04 22:18 831 查看
这篇介绍SURF检测blob的函数。

函数/Functions

函数名称:detectSURFFeatures

功能:利用The Speeded-Up Robust Features(SURF)算法检测blob特征

语法:points = detectSURFFeatures(I);

points = detectSURFFeatures(I,Name,Value);

其中,其中,I为2-D灰度图像,points为返回的SURF检测算法检测到的blob,Name必须为用单引号对包含的如下字符串名称,Vaule为对应Name的值

Name&Value参数

NameValue
'MetricThreshold'默认值为1000.0,取值较小时,返回更多检测到的blob
'NumOctaves'默认值为3,范围为>=1的整数,表示所使用高斯滤波器的序列,越小时,所使用的高斯滤波器的序列的窗口大小越小,能够检测到的Blob的尺度越小,典型值为1-4
'NumScaleLevels'默认值为4,范围为>= 3的整数,表示对应NumOctaves取值的高斯滤波器的个数,典型值为3-6
'ROI'默认为[1,1,size(I,1),size(1)],表示进行角点检测的图像区域
Octave&FilterSize

OctaveFilterSize
19x9,15x15,21x21,27x27,...(相差为6)
215x15,27x27,39x39,51x51,...(相差为12)
327x27,51x51,75x75,99x99,...(相差为24)
4...(相差为48)
举例:

close all;
clear all;
clc;

I = imread('cameraman.tif');
points = detectSURFFeatures(I);
figure(1);
imshow(I);hold on;
plot(points.selectStrongest(10));
title('默认值')
clear points;
points = detectSURFFeatures(I,'NumOctave',2,'NumScaleLevels',3);
figure(2);
imshow(I);hold on;
plot(points.selectStrongest(10));
title('新参数')


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: