DÉTECTION DE VISAGE (YEUX, NEZ, BOUCHE) AVEC OPENCV EN TEMPS RÉEL

nadin1307 Messages postés 1 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 15 octobre 2010 - 15 oct. 2010 à 00:15
 afefdouziafef - 5 mai 2013 à 01:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52375-detection-de-visage-yeux-nez-bouche-avec-opencv-en-temps-reel

afefdouziafef
5 mai 2013 à 01:47
I am compiling opencv 2.4.4 with visual studio 2012, but I can not find the library include "stdafx"
What is the solution?
salut
svp je suis un étudient et je besoin de code source de détection des doigts de la main avec open cv ou c++
Bonjour
quand j'exécute le code de code source détection yeux bouche nez il mm'affiche toujours ce messages: 1>c:\users\poste\documents\visual studio 2010\projects\vendredi\vendredi.cpp(3): fatal error C1010: fin de fichier inattendue lors de la recherche d'un en-tête précompilé. N'auriez-vous pas oublié d'ajouter '#include "StdAfx.h"' à votre source ?
mon environnement de travail: Windows 7 , Visual studio 2010 , opencv 2.3.1
merci
mhkh Messages postés 1 Date d'inscription samedi 16 juin 2012 Statut Membre Dernière intervention 16 juin 2012
16 juin 2012 à 23:45
SVP qu'elles sont les étapes pour le compilé et comment faire pour créer un répertoire
data/haarcascades/ et y ajouter toutes les cascades d'OpenCV ??
redvella Messages postés 19 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 25 février 2013
23 mai 2012 à 15:35
Bonjour,
j'ai utilisé votre code mais malhereusement il ne marche pas, il m'affiche erreur en include "lib/webcome.h"
pouvez vous m'aidez SVP à resoudre ce problème
Merci
dania511 Messages postés 3 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 2 mai 2012
24 mars 2012 à 11:27
salut , j'ai un problème au niveau de l'installation de l'opencv2.3.0.
lorsque je compile, je reçois un message "opencv_highgui230d.dll not found, malgré que j'ai bien ajouter C:\OpenCV2.3\build\x86\vc9\bin à l'environment path,et aussi j'ai vérifier l'existence de"opencv_highgui230d.dll" . aidez-moi s'il vous plait !!!!
ttjtheo Messages postés 4 Date d'inscription mardi 30 avril 2013 Statut Membre Dernière intervention 30 avril 2013
3 mars 2012 à 15:51
salut
je suis novice en opencv et ayant lus le tutoriel sur la face detection je crois n'avoir pas compris a quoi serve certaine ligne de code pour la realisation della face detection, come par exemple celle ci:1) vector<Rect> facesRect;
2)vector<Face*>* faces = new vector<Face*>();
jai des doutes mais ces vecteur servent a sauvegarder temporairement en memoire les images qui seront traiter par la fonction de classification?

en plus la fonction "detectMultiScale" serait elle la mm que celle utilise dans la version opencv 2.1 c.a.d "cvHaarDetectObjects "?
merci d'avance pour l'aide
didoumila Messages postés 1 Date d'inscription vendredi 28 octobre 2011 Statut Membre Dernière intervention 8 février 2012
8 févr. 2012 à 07:41
bonjour
je travaille sous code blocks et opencv 2.2 (sous win);j'ai télécharger le zip mais je n'arrive pas à le compiler et j' ai l'erreur suivante E:\c++\cppfrance_DETECTION-VISAGE-YEUX-NEZ-BOUCHE-AVEC-OPENCV-TEMPS___Page\lib\Webcam.h|20|error: extra qualification 'Webcam::' on member 'getImage'|
merci de m'aider
marwamaissa Messages postés 1 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 10 février 2011
10 févr. 2011 à 12:54
bonjour,
pour ma part, la compilation est vrai, mais quand je passe à l'exécution une erreur est trouvé dans le fichier Webcam.cpp à la ligne 24 : frame = iplImg; !!!!!!!!
je crois que le deux types de donnée frame et iplImg ne sont pas compatibles, est ce que ce vrai ou non ???
cs_Warrior9 Messages postés 4 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 2 février 2011
2 févr. 2011 à 15:17
Salut,

J'ai un amis qui a testé tes sources sur sa machine.
Il a l'erreur suivante : ( je ne voie pas trop )

g++ -o dect main.cpp Detection.cpp Face.cpp -lcv -lhighgui

main.cpp: In function ‘int main(int, const char**)’:
main.cpp:91: error: conversion from ‘cv::Rect_’ to non-scalar type ‘cv::Point’ requested
main.cpp:96: error: conversion from ‘cv::Rect_’ to non-scalar type ‘cv::Point’ requested
main.cpp:103: error: conversion from ‘cv::Rect_’ to non-scalar type ‘cv::Point’ requested
main.cpp:110: error: conversion from ‘cv::Rect_’ to non-scalar type ‘cv::Point’ requested

Une idées ?

Merci d'avance
cs_Warrior9 Messages postés 4 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 2 février 2011
31 janv. 2011 à 21:59
Salut,

Ok merci je vais voir sa.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
31 janv. 2011 à 21:43
Non je ne vois pas trop, dans ce cas je te conseille d'essayer avec l'exemple de base d'openCV, on ne sait jamais.
cs_Warrior9 Messages postés 4 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 2 février 2011
31 janv. 2011 à 21:40
Salut,

Merci sa fonctionne maintenant. J'ai pas les .xml avec ma version opencv .....

J'ai adapter pour le faire sur une image passée en paramètre. Avec un visage en 418x508 px en png sa fonctionne bien aussi.

J'ai testé avec un visage bien cadré de la base ORL face database. Mais sa ne fonctionne pas.
Pour infos les images sont de types : The size of each image is 92x112, 8-bit grey levels.

Tu vois d'où pourrai venir le problème ?

Merci d'avance
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
31 janv. 2011 à 21:01
Ces fichiers contiennent les définitions des parties du visage à détecter. Tu peux les trouver dans OpenCV.
cs_Warrior9 Messages postés 4 Date d'inscription mercredi 26 janvier 2011 Statut Membre Dernière intervention 2 février 2011
31 janv. 2011 à 20:10
Bonjour,

J'ai compiler avec la commande :
g++ -o dect main.cpp Detection.cpp Face.cpp Webcam.cpp -lcv -lhighgui

Sa compile mais lorsque je lance dect j'ai une fenêtre qui se lance avec le flux video de la webcam mais à un moment j'ai des erreurs :

Lancement 1:

ERROR: Could not load face cascade
ERROR: Could not load eyes cascade
ERROR: Could not load eyes cascade 2
ERROR: Could not load mouth cascade
ERROR: Could not load nose cascade
Erreur de segmentation

Lancement 2:

ERROR: Could not load face cascade
ERROR: Could not load eyes cascade
ERROR: Could not load eyes cascade 2
ERROR: Could not load mouth cascade
ERROR: Could not load nose cascade
Corrupt JPEG data: 5 extraneous bytes before marker 0xd6

Je suis novice en OpenCV. Mais je me demande a quoi servent ces .xml ( que j'ai pas ).
String cascadeNameFace = "data/haarcascades/haarcascade_frontalface_alt.xml";
String cascadeNameEyes = "data/haarcascades/haarcascade_eye.xml";
String cascadeNameEyes2 = "data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
String cascadeNameMouth = "data/haarcascades/haarcascade_mcs_mouth.xml";
String cascadeNameNose = "data/haarcascades/haarcascade_mcs_nose.xml";

Merci d'avance pour ton aide.
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
10 déc. 2010 à 04:00
faudrait aussi compiler les autres sources.

g++ main.cpp lib/Webcam.c lib/leshautres.c -Wall -lserial -o go `pkg-config --cflags opencv` `pkg-config --libs opencv`
vadech Messages postés 8 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 novembre 2005
10 déc. 2010 à 00:26
Bonjour,
j'essai d'utiliser votre source mais impossible de linker.
Je ne comprend pas pkoi.
Voici le log:
g++ main.cpp -Wall -lserial -o go `pkg-config --cflags opencv` `pkg-config --libs opencv`
/tmp/cc8SlkML.o: In function `main':
main.cpp:(.text+0x40): undefined reference to `Webcam::Webcam()'
main.cpp:(.text+0x69): undefined reference to `Detection::Detection()'
main.cpp:(.text+0xc7): undefined reference to `Webcam::getImage(cv::Mat&)'
main.cpp:(.text+0xdc): undefined reference to `Detection::detectFaces(cv::Mat&)'
main.cpp:(.text+0x25f): undefined reference to `Face::getRect()'
main.cpp:(.text+0x361): undefined reference to `Face::hasEyes()'
main.cpp:(.text+0x37a): undefined reference to `Face::getLeftEye()'
main.cpp:(.text+0x3b2): undefined reference to `Face::getRightEye()'
main.cpp:(.text+0x3f6): undefined reference to `Face::hasMouth()'
main.cpp:(.text+0x40f): undefined reference to `Face::getMouth()'
main.cpp:(.text+0x447): undefined reference to `Face::hasNose()'
main.cpp:(.text+0x460): undefined reference to `Face::getNose()'
collect2: ld returned 1 exit status
make: *** [all] Erreur 1

Merci d'avance pour votre aide.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
9 déc. 2010 à 11:30
Ah peut être. Après ça dépend peut être du fichier haarcascade utilisé. J'ai aussi modifié l'algorithme utilisé par défaut dans l'exemple lors de l'appel à la fonction de détection, car celui que j'utilise est plus rapide (peut être que ça change ça aussi).
Content que ça marche en tout cas.
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
9 déc. 2010 à 06:18
bref laissons la compilation je vais faire un copier coller du main.cpp.
sinon comment tu fais pour avoir aussi peu de faux visage?
est-ce parceque tu n'utilises pas la fonction cvHaarDetectObjects? en effet c'est celle que moi j'utilise et honetement j'ai tres trop souvent des truc detecte qui n'ont rien avoir avec des faces.
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
9 déc. 2010 à 06:11
currieusement j'ai pas eu de main.cpp dans le zip :)
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
8 déc. 2010 à 10:18
Il y'a un main dans main.cpp ? (je ne suis pas sur de te suivre)

Concernant le Webcam::, je crois que c'est un réflexe d'autre langage, et de ce que j'ai compris c'est autorisé sur d'anciennes versions de g++, donc c'est pour ça que je n'ai pas eu d'erreur. Je corrigerai ça quand j'aurai le temps de me remettre sur le projet.
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
8 déc. 2010 à 09:29
maintenant je me rend compte qu'il y avait pas de main.
et justement pourquoi avoir mis un Webcam:: dans la definition de la class?
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
7 déc. 2010 à 11:20
Et si tu retires "Webcam::" ?
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
7 déc. 2010 à 08:48
bon la compilation sous linux avec gcc donne l'erreure suivante:

In file included from Webcam.cpp:8:0:
Webcam.h:20:7: error: extra qualification ‘Webcam::’ on member ‘getImage’
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
11 nov. 2010 à 10:31
Attention ici il s'agit de la dernière version d'OpenCV (2.2 je crois), et les noms des librairies ont changés.
(enfin je pense que ce code reste compatible à condition de renommer les include je pense).
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
11 nov. 2010 à 09:08
Les parametres passés à g++ me smeblesn étrange... Perso, sous linux, je compile mes progs opencv comme ça:
gcc main.cpp -lstdc++ -lm -lcv -lhighgui -lcvaux

Dans la version de THOB31, on dirait qu'il manque les ldflags...
thob31 Messages postés 17 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 21 février 2012
20 oct. 2010 à 18:28
Oui, c'est bizarre, pourtant, tout les samples marchent, je ne comprend pas...
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
20 oct. 2010 à 18:15
Il semble que toutes les erreurs viennent d'OpenCV. C'est seulement dans les dernières lignes qu'il y'a 4 erreurs dans main.cpp, qui correspondent à l'appel d'une fonction opencv.
Je ne pense pas que ça vienne du code dans ce cas.
thob31 Messages postés 17 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 21 février 2012
20 oct. 2010 à 17:51
J'obtiens des erreurs lors de la compilation (j'ai ajouté tout les fichiers d'OpenCV nécessaires), voici le log ( sous dev-c++ ) :

http://thobworld.com/log_compilation.txt
cs_rob57530 Messages postés 7 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 29 septembre 2009
20 oct. 2010 à 04:16
Ça à l'air pas mal je me pencherai dessus un peu plus tard ;)
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
19 oct. 2010 à 12:08
Et quel genre d'erreur obtiens-tu ?
thob31 Messages postés 17 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 21 février 2012
19 oct. 2010 à 11:18
Les exemples d'OpenCv marchent tous très bien :S
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
19 oct. 2010 à 09:34
Est-ce que tu arrives à faire tourner l'exemple d'OpenCV déjà ? Si c'est pas le cas, le problème n'est pas relié avec cette source alors.
thob31 Messages postés 17 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 21 février 2012
19 oct. 2010 à 08:45
Bonjour,
Pour ma part, je n'arrive pas à compiler sous windows, les erreurs viendraient de la lib OpenCv...
Rejoignez-nous