ChH*_*upt 13 c++ opencv feature-detection
我使用OpenCV C++ Lib的HOGDescriptor来计算图像的特征向量.我想要想象源图像中的功能.谁能帮我?
Jür*_*uer 27
我今天遇到了完全相同的问题.HOGDescriptor使用OpenCV HOGDescriptor::compute()函数计算64x128图像的矢量很容易,但没有内置功能可视化它.
最后,我设法理解梯度方向大小如何存储在3870长HOG描述符向量中.
你可以找到我的C++代码,用于可视化HOGDescriptor:
希望能帮助到你!
于尔根
Yam*_*eko 13
HOGgles¹是一种为HOG可视化开发的方法,发布于ICCV 2013.以下是一个示例:

这种可视化工具可能比绘制HOG的梯度向量更有用,因为人们可以更好地看到为什么HOG对于给定样本失败.
更多信息可以在这里找到:http://web.mit.edu/vondrick/ihog/
¹C.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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24562 次 |
| 最近记录: |