2017-05-03 109 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