Un probleme sur Face tracking(SOS!!!)
✔ Ce sujet est résolu
Fabrice911
7 Messages
Le mardi 17 mars 2015 à 10:25:33
Bonjour, j'ai un petit problème lors de exécution du programme (Face tracking : implémentation de la méthode de Viola & Jones en C++):
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Null pointer (Invalid classifier cascade) in cvHaarDetectObjectsForROC, file /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp, line 1514
terminate called after throwing an instance of 'cv::Exception'
what(): /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp:1514: error: (-27) Invalid classifier cascade in function cvHaarDetectObjectsForROC
merci d'avance!!!
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Null pointer (Invalid classifier cascade) in cvHaarDetectObjectsForROC, file /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp, line 1514
terminate called after throwing an instance of 'cv::Exception'
what(): /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp:1514: error: (-27) Invalid classifier cascade in function cvHaarDetectObjectsForROC
merci d'avance!!!
Le mardi 17 mars 2015 à 13:39:13
Salut, à en juger par le message d'erreur que tu obtiens, il semblerait que le classifier que tu tente de charger ne soit pas bon.
Il est possible que ce soit parce que le fichier en question n'est pas un classifier valide ou encore parce que le path vers ce fichier est incorrecte.
Peux-tu mettre le message d'erreur entre balises [code]ton code ici[/code] stp (plus facile pour la lecture) ? Merci.
On peut voir ton code aussi ? (place-le également entre balises stp).
Il est possible que ce soit parce que le fichier en question n'est pas un classifier valide ou encore parce que le path vers ce fichier est incorrecte.
Peux-tu mettre le message d'erreur entre balises [code]ton code ici[/code] stp (plus facile pour la lecture) ? Merci.
On peut voir ton code aussi ? (place-le également entre balises stp).
Fabrice911
7 Messages
Le jeudi 19 mars 2015 à 15:23:46
Bonjour,
Voici le code d'erreur que j'obtiens :
J'utilise le code donner sur le site :
Je vais essayer de relancer le programme avec un autre classifier
Voici le code d'erreur que j'obtiens :
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Null pointer (Invalid classifier cascade) in cvHaarDetectObjectsForROC, file /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp, line 1514
terminate called after throwing an instance of 'cv::Exception'
what(): /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp:1514: error: (-27) Invalid classifier cascade in function cvHaarDetectObjectsForROC
J'utilise le code donner sur le site :
/*
* FaceDetect.cpp
*
* Created on: Mar 11, 2015
* Author: yihao
*/
/*------------------------------------------------*/
#include <stdio.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <opencv/cxcore.h>
/*------ Declaration des variables globales ------*/
char key;
CvHaarClassifierCascade *cascade;
CvMemStorage *storage;
/*---------- Declaration des fonctions -----------*/
void detectFaces(IplImage *img);
/*------------------------------------------------*/
int main(void)
{
/* Declaration des variables */
CvCapture *capture;
IplImage *img;
const char *filename = "/home/workspace/FaceDetect/src/haarcascade_frontalface_alt.xml";
/* Chargement du classifieur */
cascade = (CvHaarClassifierCascade*)cvLoadHaarClassifierCascade( filename, cvSize(24, 24) );
/* Ouverture du flux video de la camera */
capture = cvCreateCameraCapture(-1);
// Ouverture d'un fichier video
//capture = cvCreateFileCapture("/home/download/video.mp4");
/* Initialisation de l'espace memoire */
storage = cvCreateMemStorage(0);
/* Creation d'une fenetre */
cvNamedWindow("Window-FT", 1);
/* Boucle de traitement */
while(key != 'q')
{
img = cvQueryFrame(capture);
detectFaces(img);
key = cvWaitKey(10);
}
/* Liberation de l'espace memoire*/
cvReleaseCapture(&capture);
cvDestroyWindow("Window-FT");
cvReleaseHaarClassifierCascade(&cascade);
cvReleaseMemStorage(&storage);
return 0;
}
/*------------------------------------------------*/
void detectFaces(IplImage *img)
{
/* Declaration des variables */
int i;
CvSeq *faces = cvHaarDetectObjects(img, cascade, storage, 1.1, 3, 0, cvSize(40,40));
for(i=0; i<(faces?faces->total:0); i++)
{
CvRect *r = (CvRect*)cvGetSeqElem(faces, i);
cvRectangle(img, cvPoint(r->x, r->y), cvPoint(r->x + r->width, r->y + r->height), CV_RGB(255, 0, 0), 1, 8, 0);
}
cvShowImage("Window-FT", img);
}
Je vais essayer de relancer le programme avec un autre classifier
Le jeudi 19 mars 2015 à 16:20:03
D'après moi le problème se situe ligne 24. Es-tu sûr que ton fichier haarcascade_frontalface_alt.xml existe bien à l'emplacement indiqué ?
Dans un premier temps, donne un nom plus simple au fichier et place-le directement dans /home :
[EDIT] question toute bête : tu es bien sous Linux ?
Dans un premier temps, donne un nom plus simple au fichier et place-le directement dans /home :
const char *filename = "/home/haar.xml";
[EDIT] question toute bête : tu es bien sous Linux ?
Fabrice911
7 Messages
Le jeudi 19 mars 2015 à 17:17:21
Mais en fait le problème encore.
je sais pas le problème, c'est a cause de linux ou le code .
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Null pointer (Invalid classifier cascade) in cvHaarDetectObjectsForROC, file /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp, line 1514
terminate called after throwing an instance of 'cv::Exception'
what(): /home/yihao/opencv-2.4.11/modules/objdetect/src/haar.cpp:1514: error: (-27) Invalid classifier cascade in function cvHaarDetectObjectsForROC
je sais pas le problème, c'est a cause de linux ou le code .
Fabrice911
7 Messages
Le jeudi 19 mars 2015 à 17:29:02
Message modéré par un admin. Motif :
Liens vers une image incorrect.
Liens vers une image incorrect.
Le jeudi 19 mars 2015 à 20:07:46
Pour insérer une image il faut d'abord que tu l'uplaod quelque part et ensuite tu insère l'url du fichier uplaodé.
Ton classifier tu l'as chopé où, sur l'article ?
Tu as bien enregistré le fichier et pas juste fais un copié collé ?
Ton classifier tu l'as chopé où, sur l'article ?
Tu as bien enregistré le fichier et pas juste fais un copié collé ?
Le vendredi 20 mars 2015 à 00:41:59
Je viens de me rendre compte que ce sujet n'est pas au bon endroit. Je le déplace.
Fabrice911
7 Messages
Le vendredi 20 mars 2015 à 10:46:32
le classifier , j'ai chope sur l'article et si ça marche après je vais traduire en java.
[url=]https://picasaweb.google.com/109389730081022420719/ProfilePhotos#6128251439862305858[/url]
[url=]https://picasaweb.google.com/109389730081022420719/ProfilePhotos#6128251439862305858[/url]
Le vendredi 20 mars 2015 à 12:48:25
Bon, comme je sens que ça va durer une plombe, tu va répondre précisément à ces questions :
1. Que te retourne la commande shell suivante :
2. Tu dis que tu a chopé le classifieur sur le site : tu as bien fais Enregistrer et pas un simple copié collé du texte qui apparaissait ?
3. Tu as du te planter dans l'insertion de ton image. Il faut que tu mette l'URL de ton image entre balises [img][/img] et bien évidemment que cet URL corresponde à un fichier image.
4. Sur une échelle de 1 à 10, tu te situe où en terme de programmation C et shell Linux ?
1. Que te retourne la commande shell suivante :
ls /home
2. Tu dis que tu a chopé le classifieur sur le site : tu as bien fais Enregistrer et pas un simple copié collé du texte qui apparaissait ?
3. Tu as du te planter dans l'insertion de ton image. Il faut que tu mette l'URL de ton image entre balises [img][/img] et bien évidemment que cet URL corresponde à un fichier image.
4. Sur une échelle de 1 à 10, tu te situe où en terme de programmation C et shell Linux ?
Fabrice911
7 Messages
Le vendredi 20 mars 2015 à 16:01:38
Merci beaucoup, j'ai réussi la. A cause de
const char *filename = "/home/yihao/haar.xml";
Le vendredi 20 mars 2015 à 16:31:11
C'était le fichier qui n'était pas au bon endroit c'est ça ?
Pense à mettre ton sujet en Résolu à l'aide du bouton en haut de page
Pense à mettre ton sujet en Résolu à l'aide du bouton en haut de page