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

Matlab-vision包学习-Feature Detection,Extraction and Matching-提取HOG描述子

2015-10-05 08:59 555 查看
这一篇介绍提取HOG描述子的函数。

函数/Functions

函数名称:extractHOGFeatures

功能:提取HOG描述子

语法:features = extractHOGFeatures(I);

[features,validPoints] = extractHOGFeatures(I,Points);

[_,visualization] = extractHOGFeatures(I,_);

[_] = extractHOGFeatures(_,Name,Value);

其中,I为3-D彩色图像或2-D灰度图像,features为1xN的HOG描述子向量,N为描述子的长度,该描述子是输入图像区域的局部形状信息编码。当指定Points(同extractFeatures函数输入Points)时,则获取指定点附近的HOG描述子,visualization表示可用于任何可视化的函数的输入参数,例如plot(visualization),Name为用一对单引号包含的字符串,Value为对应Name的值。

Name&Value参数

NameValue
'CellSize'HOG单元(HOG cell)大小,默认值为[8,8],为捕获大尺度空间信息,可以增加‘CellSize'的取值
’BlockSize'块中单元的大小,默认值为[2,2],当取值较大时将降低抑制局部亮度变化的能力,当取值较小时,能够抑制亮度变化
‘BlockOverlap'相邻块(block)之间的重叠HOG单元的个数,默认值为ceil(BlockSize/2),该参数只在从区域(region)获取HOG特征时有用。
’NumBins'方向直方图分段(orientation histogram bins)的数目,默认值为9,必须为正整数,如果想要获取精细的方向信息,该值可以设置大一些,但是将增加处理时间和HOG特征长度
‘UseSignedOrienation'默认值为false,当该值置为true时,方向直方图中所取方向的范围为[-180,180],若置为false,方向的取值范围为[0,180],此时,方向角度小于0的将统计如+180bins中,利用带符号的方向,可以区分区域中从light-to-dark和dark-to-light
举例:

close all;
clear all;
clc;

Img = imread('cameraman.tif');
[featureVector,hogVisualization] = extractHOGFeatures(Img);
figure;
imshow(Img); hold on;
plot(hogVisualization);
title('从图像区域中直接抽取HOG描述子');

clear Img;
clear featureVector;
Img = imread('gantrycrane.png');
CornersPoints = detectFASTFeatures(rgb2gray(Img));
strongest = selectStrongest(CornersPoints,3); %选择前三个
[featureVector,validPoints,hogVisualization] = extractHOGFeatures(Img,strongest);
figure;
imshow(Img); hold on;
plot(hogVisualization,'Color','green');
title('抽取FAST检测的特征点周围区域的HOG描述子');

clear Img;
clear featureVector;


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