gpt4 book ai didi

c# - 使用 EMGU CV C# 中的 HOGDescriptor 获取图像的 HOG 描述符

转载 作者:行者123 更新时间:2023-11-30 20:52:52 26 4
gpt4 key购买 nike

如何使用 EMGU CV 和 C# 计算图像的 hog 描述符向量。

如果我做这样的事情:

float[] f;
Image<Bgr, Byte> img1 = new Image<Bgr, Byte>(fullPath);

f = hog.Compute(img1, Size.Empty, Size.Empty,null );

它不起作用,它给出了一个

Object reference not set to an instance of an object.

异常。我想用默认参数计算 hog 描述符。

有人知道怎么做吗?

Emgu cv 的文档非常少。

我修改了代码,现在出现以下错误:“外部组件抛出异常”代码如下所示

public float[] GetVector(Image<Bgr, Byte> im)
{
HOGDescriptor hog = new HOGDescriptor(); // with defaults values
// Image<Bgr, Byte> pImage = new Image<Bgr, Byte>(;
//pImage.ROI = new Rectangle(new Point(0, 0), new Size(64, 128));
Point[] p = new Point[im.Width * im.Height];
int k = 0;
for (int i = 0; i < im.Width; i++)
{
for (int j = 0; j < im.Height; j++)
{
Point p1 = new Point(i, j);
p[k++] = p1;
}
}
return hog.Compute(im, new Size(8, 8), new Size(0, 0), p);
}

最佳答案

他的回答只是为了记录在案:

public Image<Bgr, Byte> Resize(Image<Bgr, Byte> im)
{
return im.Resize(64, 128, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR);
}
public float[] GetVector(Image<Bgr, Byte> im)
{
HOGDescriptor hog = new HOGDescriptor(); // with defaults values
Image<Bgr, Byte> imageOfInterest = Resize(im);
Point[] p = new Point[imageOfInterest.Width * imageOfInterest.Height];
int k = 0;
for (int i = 0; i < imageOfInterest.Width; i++)
{
for (int j = 0; j < imageOfInterest.Height; j++)
{
Point p1 = new Point(i, j);
p[k++] = p1;
}
}

return hog.Compute(imageOfInterest, new Size(8, 8), new Size(0, 0), p);
}

如果其他人需要它:)

关于c# - 使用 EMGU CV C# 中的 HOGDescriptor 获取图像的 HOG 描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20497798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com