我的人员检测代码出现问题。我正在使用Emgucv库,它最终会拾取与人无关的对象......缺少什么?我怎样才能让它变得更好?
Rectangle[] regions;
int indexx = 0;
using (HOGDescriptor des = new HOGDescriptor())
{
des.SetSVMDetector(HOGDescriptor.GetDefaultPeopleDetector());
regions = des.DetectMultiScale(currentFrame.Copy());
}
foreach (Rectangle rect in regions)
{
indexx++;
currentFrame.Draw(rect, new Bgr(Color.Red), 2);
}
if (regions.Count() > 0)
currentFrame.Save("pedestre\\pedestre0" + indexx + ".jpg");
答案 0 :(得分:1)
根据您的测试/应用环境,人员检测结果可能会有所不同。您最好的选择可能是训练算法以最适合您的特定条件。
如果您希望算法在非常特定的条件下工作,例如特定的,封闭的和受控制的环境,那么最好的办法是训练您的算法以适应这种环境。
如果您希望检测能够在更多不同的条件下工作,则可能必须在您应用程序实际使用的条件下搜索有关人员检测或图像过滤的文章。您可以在使用分类器之前尝试进行一些图像预处理 - 例如,有时简单的直方图标准化可以提高您的结果,足以满足您的应用。