我正在尝试从图像中提取特定点的特征。我第一次使用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');
谢谢
答案 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');