Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1657 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  rectifier quelque information sur opencv

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

rectifier quelque information sur opencv

n°2146638
hb2012
Posté le 21-06-2012 à 12:17:59  profilanswer
 

slt mes amis,
Tout d'abord, je suis entrain de travailler sur l'opencv pour faire le suivi d'un objet plus exactement un face , et pour cela mon démarche prenne comme des images pour construire une séquence vidéo ,car je vient d'utiliser chaque image à coté pour faire appliquer la méthode de détection. Et bain celle ci le code:

Code :
  1. #include "stdafx.h"
  2. #include <cv.h>
  3. #include <stdio.h>
  4. #include <cxcore.h>
  5. #include <highgui.h>
  6. using namespace std;
  7. CvHaarClassifierCascade* cascade = 0;
  8. CvMemStorage* storage = 0;
  9. int _tmain(int  argc, _TCHAR* argv[])
  10. int i;
  11.     for (int k=0;k<100;k++)
  12. std::string varimg;
  13. char format[] = "franck_000%d.jpg";
  14. char filename[sizeof format+100];
  15. sprintf(filename,format,k);
  16. varimg = filename ;
  17. IplImage*imgw = cvLoadImage( varimg.c_str() );
  18. IplImage* gray;
  19.   /* Load the face detector and create memory storage
  20.     `cascade` and `storage` are global variables */
  21.   if (!cascade) {
  22.     char* file = "C:/OpenCV-2.1.0/data/haarcascades/haarcascade_frontalface_alt.xml";
  23.     cascade = (CvHaarClassifierCascade*) cvLoad(file, 0, 0, 0);
  24.     storage = cvCreateMemStorage(0);
  25.   }
  26. /* Convert multichannel to 1-channel for faster processing */
  27.   if (imgw->nChannels == 1) {
  28.     gray == cvClone(imgw);
  29.   } else {
  30.     gray = cvCreateImage(cvGetSize(imgw), imgw->depth, 1);
  31.     cvCvtColor(imgw, gray, CV_RGB2GRAY);
  32.   }
  33. /* detect faces */
  34.   CvSeq* faces = cvHaarDetectObjects(gray,cascade,storage,1.1,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(20, 20));
  35.   int i;
  36. /* Draw red boxes on the faces found */
  37.   for( i = 0; i < (faces ? faces->total : 0); i++ ) {
  38.     CvRect* r = (CvRect*)cvGetSeqElem(faces, i);
  39. cvRectangle(imgw,cvPoint(r->x, r->y),cvPoint(r->x + r->width, r->y + r->height),CV_RGB(255, 0, 0),3, 8, 0);
  40.   }
  41. cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
  42.     cvShowImage("Example1",imgw);
  43.     cvWaitKey(1);
  44. cvReleaseImage(&imgw);
  45. }
  46.     return 0;
  47. }


la problème est que l'affiche de résultat n'est pas totalement correcte, il m'a donné une séquence tréééés lente ce qui n'est pas le cas avant que j'ai appliquer la détection.
svp si je ne suis dans le bon chemin du forum me dire.
cordialement.  

mood
Publicité
Posté le 21-06-2012 à 12:17:59  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  rectifier quelque information sur opencv

 

Sujets relatifs
qeustions sur l'opencv?suivi d'un objet en opencv
suivi d'un objet en opencvune astuce à corriger pour un code opencv
corrigé un code source en opencvOpencv sous Unix
Filmer avec Foscam FI8918W grâce à OpenCVPython + Qt + OpenCV = problème :/
reconstruire bases de données mysql et information_schemaInformation à propos de smartctl
Plus de sujets relatifs à : rectifier quelque information sur opencv


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR