1
我试图从图像中提取HOG描述符,但总是得到零作为结果。它如何解决。这里是我用来提取HOG描述符的C#代码。EmguCV HOG描述符始终为零
private void btnGetHOGDescriptor_Click(object sender, EventArgs e)
{
if(InputImage.Original != null)
{
Image<Bgr, Byte> inputImage = new Image<Bgr, Byte>(new Bitmap(pbInputImage.Image));
float[] descriptor = GetVector(inputImage);
rtbDescriptor.Text = string.Join(" ", descriptor);
}
}
public float[] GetVector(Image<Bgr, Byte> img)
{
HOGDescriptor hog = new HOGDescriptor(); // with defaults values
Point[] p = new Point[img.Width * img.Height];
int k = 0;
for (int i = 0; i < img.Width; i++)
{
for (int j = 0; j < img.Height; j++)
{
Point p1 = new Point(i, j);
p[k++] = p1;
}
}
return hog.Compute(img, new Size(8, 8), new Size(0, 0), p);
}
谢谢。代码在项目属性中启用“本地代码调试”后工作。 –