Accueil > Forum > > > > détéction des point d'interet d'un visage dans une image
détéction des point d'interet d'un visage dans une image
jeudi 24 mars 2011 à 14:13:10 |
détéction des point d'interet d'un visage dans une image

marwaMIMImarwa
|
bonjour
je suis entrain d'implémenter un code en c++ pour détecter le visage et les yeux en utilisant la méthode de détection des points d'interet de harris
mais le code ne détecte pas correctement
voici le code
Code C/C++ :
#include "stdafx.h"
#include <iostream>
using namespace std;
#include "stdio.h"
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include"tchar.h"
#define max_corners 100
int _tmain(int argc, _TCHAR* argv[])
{
IplImage *img;
img = cvLoadImage( "photo.jpg" );
CvMemStorage* storage = cvCreateMemStorage(0);
CvHaarClassifierCascade* cascade_f = (CvHaarClassifierCascade*)cvLoad( "haarcascade_frontalface_alt2.xml" );
/* double scale = 1.0; */
static CvScalar colors[] = { {{0,0,255}}, {{0,128,255}}, {{0,255,255}},
{{0,255,0}}, {{255,128,0}}, {{255,255,0}}, {{255,0,0}}, {{255,0,255}} };
/* detect faces */
CvSeq *faces = cvHaarDetectObjects(
img, /* l'image source */
cascade_f, /* le classificateur du visage */
storage, /* mémoire tampon, créé avec cvMemStorage */
1.10,6, 0, /* tune paramètres spéciaux, pour votre app */
cvSize(40,50) ); /* échelle minimum de détection */
/* obtenir le visage détecté pour la première */
CvRect* f;
for(int i = 0; i < (faces ? faces->total : 0 ); i++ )
{
f = ( CvRect* )cvGetSeqElem( faces, i );
/* dessinez un rectangle rouge */
cvRectangle(
img,
cvPoint(f->x, f->y),
cvPoint(
f->x + f->width,
f->y + f->height),
colors[i%8] );
/* tampon reset pour la détection objet suivant */
cvClearMemStorage(storage);
/* Définissez la région d'intérêt: estimation de la position des yeux */
cvSetImageROI( img, /* the source image */
cvRect(f->x, /* x = à partir de gauche */
f->y + (f->height/5), /* y = quelques pixels de haut de page */
f->width, /* width = même largeur avec le visage */
f->height) ); /* height = hauteur du visage */
/*détecter les yeux */
int cornerCount=max_corners;
CvPoint2D32f corners[max_corners];
IplImage *grayImage = 0, *corners1 = 0, *corners2 = 0;
int j;
CvScalar color = CV_RGB(255,0,0);
grayImage = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);
//copy the source image to copy image after converting the format
cvCvtColor(img, grayImage, CV_BGR2GRAY);
//create empty images of same size as the copied images
corners1= cvCreateImage(cvGetSize(img), IPL_DEPTH_32F, 1);
corners2= cvCreateImage(cvGetSize(img),IPL_DEPTH_32F, 1);
cvGoodFeaturesToTrack (grayImage, corners1,
corners2, corners,
&cornerCount, 0.05,
5,
0,
3, // block size
0.01, // not use harris
4 );
printf("num corners found: %d\n", cornerCount);
// draw circles at each corner location in the gray image and
//print out a list the corners
if(cornerCount>0)
{
for (j=0; j<cornerCount; j++)
{
CvPoint centre = cvPointFrom32f(corners[j]);
//Sous openCv on déssine un point en traçant un cercle de diamètre 0
cvCircle(img, centre, 4, color);
}
}
cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
cvShowImage( "image:", img);
cvReleaseImage(&img);
cvReleaseImage(&grayImage);
cvReleaseImage(&corners1);
cvReleaseImage(&corners2);
cvDestroyWindow("Image:");
cvWaitKey(0);
/* réinitialiser région d'intérêt */
cvResetImageROI(img);
return 0;
}
cvNamedWindow("Image1", CV_WINDOW_AUTOSIZE);
cvShowImage( "image1", img);
cvDestroyWindow("image1");
cvReleaseImage(&img);
/*fin de detectEyes () */
}
si quelqu'un pourra m'aider ça sera trés sympa de sa part
merci d'avance...
|
|
Cette discussion est classée dans : image, include, img, visage, corners
Répondre à ce message
Sujets en rapport avec ce message
[MFC] Copie de CDC [ par Atmaweapon ]
Bon, voila, j'utilise 2 images dans ma MFC (SDI) que j'affiche en 'fond' de mon document...Pourquoi 2 images ? Parce que j'ai mon image source (celle
Erreur avec Magick Image [ par milie_k33 ]
Bonjour à tous,Je suis nouvelle sur ce site. Je suis actuellemment en projet pour manipuler des image TIFF en C sous Win 32. J'ai trouvé un site pas m
Introduire une image BMP dans un prog C [ par 751 ]
751 je voudrais afficher en fond d'écrande mon programme coè en C une image Bmp et j'ai beau chercher je ne trouve pas comment faire je voudrais savo
Codage image .img [ par gouzi_666 ]
Bonjour, je travaille sur un projet de traitement d'image. Les images ou plutôt les fichiers images sur lesquels je travaille sont des fichiers d'imag
problème d'allocation de classe [ par dark_naruto25 ]
Salut les amis Voilà un autre problème bizzard. J'ai une classe appelé Bitmap, qui comme son nom l'indique gère une image bmp. Bref, à côté de cette c
Problèmes avec CxImage [ par magicx92 ]
Bonjour tout le monde, c'est mon premier post ici, j'espére ne pas trop faire le boulet.J'explique mon problème:Je souhaite réaliser un programme en l
Set transform C++ [ par ffenforce10 ]
Bonjour, Voilà, j'ai un petit problème avec la fonction transform pour appliquer un foncteur... Mon code complilait lorsque j'utilisait un vecteur, m
code? [ par cpierrenet ]
bj les amis mon blem n'est tjs pas résolu, je le repose autrement et si je ne suis pas clair dit
Problème pour compiler du c [ par flox39 ]
Salut à tous Je suis en galère avec du code qu'on m'a passé je n'arrive pas a le compilerl'erreur c error C2447: missing function header (old-style fo
Déplacer une image avec la souris [ par ingelishome ]
Bonjour,Je suis en train de faire une petite appli sous Borland C++ Builder dans lequel j'ai besoin de déplacer une image. Pour ce faire j'ai eu au dé
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|