1

我尝试可视化由 Android 的 OpenCV Lib 的 HOGDescriptor 计算的图像的梯度和角度。一开始我有一个带有 8 位无符号整数(CV_8UC3)的 3 通道图像 Mat()。计算结果是梯度的 MAT() (CV_32FC2) 和角度的 Mat() (CV_8UC2)。我如何可视化这个结果?代表什么价值观?为什么有角度 Mat() 2 个通道?梯度 Mat() 的 2 个通道是梯度的 x 和 y 分量吗?我找不到 computeGradiant-Method 的文档。

4

1 回答 1

2

HOG 描述符是一个方向梯度的直方图:它是一个直方图,其中每个 bin 代表对相应方向的梯度的投票。为了计算这个描述符,您应该首先将 3 通道彩色图像转换为灰度图像

cv::cvtColor(CV_BGR2GRAY);

“ComputeGradient”方法的结果是例如两个图像(与原始大小相同):x 分量和 y 分量。然后,您应该能够为每个像素计算梯度幅度和方向。

mag=sqrt(x*x+y*y)
alpha=atan(y/x)

然后你可以填充你的直方图。请注意,HOG 描述符是由块和单元格计算的。有关更多详细信息,请参阅

于 2012-06-08T09:53:36.047 回答