[英]HOG features visualisation with OpenCV, HOGDescriptor in C++
我使用OpenCV C ++ Lib的HOGDescriptor來計算圖像的特征向量。 我想可視化源圖像中的功能。 誰能幫我?
我今天有完全一樣的問題。 使用OpenCV的HOGDescriptor::compute()
函數為HOGDescriptor::compute()
圖像計算HOGDescriptor
向量很容易,但是沒有內置功能可以可視化它。
最終,我設法了解了如何將梯度方向幅度存儲在3870個長HOG描述符向量中。
您可以在此處找到用於可視化HOGDescriptor
C ++代碼:
希望能幫助到你!
於爾根
HOGgles¹是為HOG可視化開發的一種方法,已在ICCV 2013上發布。這是一個示例:
這種可視化工具可能比繪制HOG的梯度矢量更有用,因為可以更好地了解為什么給定樣本的HOG失敗。
可以在這里找到更多信息: http : //web.mit.edu/vondrick/ihog/
℃。 Vondrick,A。Khosla,T。Malisiewicz,A。Torralba。 “ HOGgles:對象檢測功能的可視化”,國際計算機視覺會議(ICCV),澳大利亞悉尼,2013年12月。
這個 opencv小組討論導致了布朗大學寫的一個圖書館 。
在HOGpicture.m
您應該能夠了解如何可視化描述符。 這是相關的(matlab)代碼。 您足以為自己做點什么嗎?
(以下代碼是根據MIT許可發布的)
function im = HOGpicture(w, bs)
% HOGpicture(w, bs)
% Make picture of positive HOG weights.
% construct a "glyph" for each orientation
bim1 = zeros(bs, bs);
bim1(:,round(bs/2):round(bs/2)+1) = 1;
bim = zeros([size(bim1) 9]);
bim(:,:,1) = bim1;
for i = 2:9,
bim(:,:,i) = imrotate(bim1, -(i-1)*20, 'crop');
end
% make pictures of positive weights bs adding up weighted glyphs
s = size(w);
w(w < 0) = 0;
im = zeros(bs*s(1), bs*s(2));
for i = 1:s(1),
iis = (i-1)*bs+1:i*bs;
for j = 1:s(2),
jjs = (j-1)*bs+1:j*bs;
for k = 1:9,
im(iis,jjs) = im(iis,jjs) + bim(:,:,k) * w(i,j,k);
end
end
end
我為基於JürgenBrauer的任何blockSize
和cellSize
重新實現HOGImage。 參見https://github.com/zhouzq-thu/HOGImage 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.