2014-04-27 3 views
1

J'essaye de créer un exemple d'application de détection de visage en utilisant la bibliothèque OpenCv. J'ai suivi les tutoriels suivantsDétection de visage avec opencv ne fonctionnant pas

http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html https://www.openshift.com/blogs/day-12-opencv-face-detection-for-java-developers

Mais Iam obtenir l'avertissement suivant et il ne détecte pas les visages.

Hello, OpenCV 

Running DetectFaceDemo 
Detected 0 faces 
Writing faceDetection.png 
libpng warning: Image width is zero in IHDR 
libpng warning: Image height is zero in IHDR 
libpng error: Invalid IHDR data 

Aidez-moi s'il vous plaît.J'utilise le système linuxMint + eclipse.

+0

votre image n'a pas été lue correctement (elle n'a donc pas pu détecter quoi que ce soit). – berak

Répondre

7

Le problème est avec le

FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath() 

Il retourne quelque chose comme ça

/C:/src/open/haarcascade_frontalface_alt.xml 

La barre oblique au début doit être retiré

FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath().substring(1) 
+1

vous avez raison. le problème était avec le chargement des ressources de classpath. Je les ai adressés dans le chemin absolu. Ça a bien fonctionné, merci. – Valath

+1

@Valath, j'ai eu la même erreur après le problème de barre oblique dans le chemin fixé avec sous-chaîne (1). – San

+0

ne fonctionne pas pour moi –

1

essayer

CascadeClassifier faceDetector=newCascadeClassifier(JavaCam.class.getResource("haarcascade_frontalface_alt.xml").getPath().substring(1));