-1

我尝试使用 HOGDescriptor 计算梯度图。我的代码:

HOGDescriptor hog;
hog.compute(faceROI,ders,Size(32,32),Size(0,0),locs);
Mat grad;
Mat sec;
hog.computeGradient(frame_gray, grad, angleofs);

imshow("1", frame_gray);
imshow("2", grad); //here program fails: Unhandled exception at memory location
imshow("3", angleofs); //grad.data = "". Why??

我找不到使用 HOGDescriptor::computeGradient 的好例子。

请帮忙!

4

2 回答 2

7

要可视化 OpenCv 的 HOGDescriptor::Calculate(..),使用这个,太棒了。

于 2013-02-13T09:20:49.957 回答
0

imshow(“2”,毕业);失败,因为 imshow 期望 grad 图像是 1、3 或 4 通道图像,而它是 2 通道图像。

第一个通道包含 x 方向的梯度,而第二个通道包含 y 方向的梯度。您应该将通道拆分为两个图像以可视化它们:

Mat grad_channel[2];
split(grad, grad_channel);
imshow("grad_x", grad_channel[0]);
imshow("grad_y", grad_channel[1]);

最好的

于 2014-12-12T08:21:53.747 回答