1
イメージからHOG記述子を抽出しようとしていますが、結果として常に0が返されます。どのようにそれを解決することができます。ここでは、HOG記述子を抽出するために使用したC#コードを示します。EmguCV HOG記述子は常に0です
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);
}
ありがとうございました。このコードは、プロジェクトプロパティで「ネイティブコードのデバッグ」を有効にした後に機能しています。 –