Matlab 方向梯度直方图(HOG)特征

Matlab 方向梯度直方图(HOG)特征,matlab,computer-vision,matlab-cvst,Matlab,Computer Vision,Matlab Cvst,所以我想弄清楚每个块有多少个特征,换句话说,如果我弄对了,每个特征就是一个特定方向的柱状图。 因此,当我在matlab中运行以下代码时: 如您所见,它显示了16种不同的hog特征,但特征向量是1x324。那么,有多少特征属于每个块/单元? 谢谢 猪矢量大小为324的原因是图像中有9个重叠块,每个块大小为2x2个单元格,其中每个单元格为64x64像素。每个块提供4个方向渐变直方图,每个包含9个存储单元。所以HOG特征的数量是9*4*9=324 很明显,可视化显示了细胞的采样,让您了解图像中的方向分

所以我想弄清楚每个块有多少个特征,换句话说,如果我弄对了,每个特征就是一个特定方向的柱状图。 因此,当我在matlab中运行以下代码时: 如您所见,它显示了16种不同的hog特征,但特征向量是1x324。那么,有多少特征属于每个块/单元? 谢谢


猪矢量大小为324的原因是图像中有9个重叠块,每个块大小为2x2个单元格,其中每个单元格为64x64像素。每个块提供4个方向渐变直方图,每个包含9个存储单元。所以HOG特征的数量是9*4*9=324


很明显,可视化显示了细胞的采样,让您了解图像中的方向分布。图像中有4x4个单元格。您在可视化图中看到的是每个单元格的梯度方向直方图的玫瑰图。

谢谢您的回答。你怎么说我有9个重叠块?你有一个由4x4个单元格组成的网格。这将为您提供9块2x2单元,每个单元重叠1个单元。把它画在纸上,你就会看到它。
clear
clc
close all
img = imread('cameraman.tif');
[hog1, visualization] = extractHOGFeatures(img,'CellSize',[64 64]);
subplot(1,2,1);
imshow(img);
subplot(1,2,2);
plot(visualization);