2017-05-03 73 views
0

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

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

谢谢

+0

显示[MCVE],请 –

回答

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

+0

非常感谢你的帮助和解释。我无法考虑绘制2个坐标。 – cinemaniac