我在emgucv中运行人脸检测。我使用了这段代码,但它不起作用...... 我的意思是它不会检测到蚂蚁脸并返回ZERO脸。 它让我发疯,因为我尝试了所有的东西。
我的系统是X64和Win7。 “我认为emgu代码中肯定存在错误。”
请为了上帝而帮助我!
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
HaarCascade haar = new HaarCascade("haarcascade_frontalface_alt_tree.xml");
Image<Bgr, Byte> image = new Image<Bgr, byte>("lena.jpg");
Image<Gray, Byte> gray = image.Convert<Gray, Byte>();
var faces = gray.DetectHaarCascade(haar,1.4, 4,HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,new Size(30,30))[0];
foreach (var face in faces)
image.Draw(face, new Bgr(255, 0, 0), 3);
MessageBox.Show(faces.Length.ToString());
pictureBox1.Image = image.ToBitmap();
}
}
}
帮助,帮助...
答案 0 :(得分:1)
您的代码中可能存在一些潜在问题,可能是您正在使用的xml haarcascade或DetectHaarCascade
函数中的错误参数值。
我给你留下一个有效的官方例子的链接:
希望这会有所帮助......
答案 1 :(得分:0)
我不是为什么,但它发生在3台不同的电脑上。它们是X64和win7。
唯一的方法是复制emgucv\...\bin\x86 to yourproject\...\debug
中的所有dll文件。
我重复将所有dll从x86文件夹(不是x64文件夹)复制到目标文件夹。
如果将它们复制到system32,它也不起作用。
我希望它可以帮到你。