Snake56
le 27 janvier 2009 à 14h58
Bonjour,
Voici mon souci.
Je voudrais récupérer le flux vidéo d'une petite caméra et l'afficher dans une fenêtre en langage C.
J'utilise le logiciel DevC++ pour développer mon application.
Pour le traitement de l'image, j'utilise OpenCV.
Voici mon code:
#include <stdio.h>
#include <stdlib.h>
#include <highgui.h>
#include <cv.h>
#include <cvcam.h>
#include <math.h>
IplImage *image;
int main(int argc, char *argv[])
{
int i, acqu = 0, touche, ref = 0;
int b=0;
//---------------------------------------------------------------------
// Test avec une image
//---------------------------------------------------------------------
// Ouverture de l'image
image = cvLoadImage("aviron-france_jo2008.jpg", 1);
cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
cvShowImage("Image", image);
//---------------------------------------------------------------------
// Utilisation d'une caméra branché sur un port USB (type webcam)
//---------------------------------------------------------------------
cvcamStart();
CvCapture *capture = 0;
IplImage *frame;
IplImage *framevideo;
capture = cvCaptureFromCAM( -1 );
cvNamedWindow("video", CV_WINDOW_AUTOSIZE);
for(;;)
{
b = cvWaitKey(10);
if(b=='c')
{
break;
}
framevideo = cvQueryFrame( capture );
cvShowImage("video", framevideo);
}
cvWaitKey(0);
cvcamStop();
//cvcamExit();
system("PAUSE");
return 0;
}
Dans un premier temps, pour vérifier que OpenCV fonctionne, j'ai testé la lecture et l'affichage d'une image, cela fonctionne parfaitement, donc DevC++ est bien configurer (fin je pense).
Voulant passer à l'étape suivante, soit capturer le flux vidéo de la caméra et l'afficher dans une fenêtre, lorsque "cvcamStart()" est en commentaire, cela m'affiche une fenêtre dans laquelle il n'y qu'un rectangle gris, lorsque "cvcamStart()" n'est pas en commentaire, cela m'affiche "Projet3.exe a rencontré un problème et doit fermer. Nous vus prions de nous excuser pour le désagrément encouru. etc..".
Est-se que quelqu'un saurait où est mon erreur dans mon programme?
Merci d'avance.
marco931
le 30 janvier 2009 à 20h50
Pas besoin d'open CV.
C'est natif en Win32.
Voir chez les pros Win32 (news://fr.comp.os.ms-windows.programmation)
où les 2 méthodes officelles (MS) ont été données.
Zplay
le 30 janvier 2009 à 22h57
Salut
A mon avis t'as un problème de pointeur
Mais à part ça, elle fait quoi la fonction cvcamStart() ?
Snake56
le 03 février 2009 à 10h37
la fonction cvcamStart() permet de démarrer la webcam, fin si j'ai bien compris
Sinon, lorsque je mes des cvCamInit() et cvCamStart(), j'ai un message d'erreur avec regsvr32.exe, il me dit qu'il ne le trouve pas.