如何在图像中绘制Hog特征

时间:2017-05-03 11:23:27

标签: image matlab image-processing plot feature-extraction

我正在尝试从图像中提取特定点的特征。我第一次使用HogFeatureextraction。当我绘制特征和有效点时,我得到的结果不在某些点上。我将在稍后使用这些功能进行培训。例如,我在直线上有点。不应该把我的功能放在我的特定点就行了。我对它的概念有点困惑。我使用[features,validPoints] = extractHOGFeatures(I,points)。 x和y是我在图像中的10个位置。在这种情况下,特征提取是如何工作的?

[features,validPoints] = extractHOGFeatures(I,[x,y]); figure; imshow(I); hold on; plot(features, 'ro'); plot(validPoints,'go');

谢谢

1 个答案:

答案 0 :(得分:0)

function's documentation清楚地解释了这一切。

validPoints是xy坐标的nX2矩阵,因此您应该使用plot(x,y)代替plot(x)来绘制它。

features是每个点的HoG特征的矩阵,只需使用plot(features, 'ro')绘制它就不会产生任何合理的输出。

但是,您只需从extractHOGFeatures获取第三个输出(visualization),然后使用plot绘制它:

I = im2double(imread('cameraman.tif'));
% desired points
n = 20;
x = randi(size(I,2), [n 1]);
y = randi(size(I,1), [n 1]);
% extract features + visualization object
[features,validPoints,visualization] = extractHOGFeatures(I,[x,y]);
% show image and features
figure;
imshow(I);
hold on;
plot(visualization,'Color','r');
% plot valid points
plot(validPoints(:,1),validPoints(:,2),'go');

enter image description here