Ich bekomme es soweit hin, dass ich von einem Bild das Gesicht mit einem Viereck einrahmen lassen kann. Ich brauch aber danach irgendetwas, das ich vergleichen kann, einen Vektor oder Werte. Das Problem ist, je höher die Auflösung desto mehr Details kann er finden, wenn aber das andere Bild eine schlechtere Auflösung hat, findet er deutlich weniger Punkte. Als Resultat habe ich zwei Arrays, das eine hat 1000 Einträge und das andere 100, also nicht vergleichbar.
Hier ist der Source Code den ich soweit habe:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| openFileDialog1.ShowDialog(); if (!openFileDialog1.FileName.Equals("")) { Image<Bgr, Byte> img = new Image<Bgr, byte>(openFileDialog1.FileName); Image<Gray, Byte> imgGray = img.Convert<Gray, byte>(); HaarCascade cascade = new HaarCascade("haarcascade_frontalface_default.xml");
foreach (MCvAvgComp face in imgGray.DetectHaarCascade(cascade)[0]) { img.Draw(face.rect, new Bgr(Color.Blue), 4); } imageBox1.Image = img; } |
Grüße
Tru5T