jimnastiq
Messages postés16Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention 4 juin 2007
-
6 févr. 2007 à 17:49
jimnastiq
Messages postés16Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention 4 juin 2007
-
8 févr. 2007 à 11:52
Salut,
voila je cherche a recupérer le flux video d'une camera sans
fil! pour vous donner le contexte j'ai un recepteur qui capte le signal
de la camera et qui le transmet a une carte d'acquisition qui est relié
au PC(sous Win XP) par l'USB.
Donc j'ai un code qui tente de récupérer le flux video mais seulement il ne trouve pas ce flux , voici le code :
#include <highgui.h>
void main()
{
/* Variables */
IplImage *im;
IplImage *im2;
CvCapture *avi;
int i = 0;
/* Ouverture de la video */
avi = cvCaptureFromCAM(-1);
cvNamedWindow("Ma fenetre", CV_WINDOW_AUTOSIZE);
while(cvGrabFrame(avi))
{
im = cvRetrieveFrame(avi);
/* Traitement de l’image */
cvWaitKey(40);
cvShowImage("Ma fenetre", im);
}
cvWaitKey(0);
}
avec ce code la fenetre reste grise alors j'ai cherché des codes sur le net et je suis tombé sur celui ci mais avec celui ci j'ai le message d'erreur qui me dit qu'il ne trouve pas le flux :
void on_mouse(int event, int x, int y, int flags, void *param)
{
switch(event)
{
case CV_EVENT_LBUTTONDOWN: printf("MouseLeftButtonDown x= %d y= %d\n",x,y);break;
case CV_EVENT_RBUTTONDOWN: printf("MouseRightButtonDown x= %d y= %d\n",x,y);break;
}
}
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 8 févr. 2007 à 11:46
Alors, la, je sais pas, le code que je t'ai filé marche tres bien chez moi.
En plus, je vois pas comment ce code fonctionne sans CvCapture* camera = cvCaptureFromCAM(0);
jimnastiq
Messages postés16Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention 4 juin 2007 7 févr. 2007 à 11:49
j'ajoute tout de meme qu'avec certaine valeurs avant de m'afficher une fenetre grise on me demande de selectionner ma source video avec dans la liste ma camera! donc il l'a reconnait non?
Vous n’avez pas trouvé la réponse que vous recherchez ?
int main(int argc, char* argv[])
{
// Tell OpenCV to capture data from a camera.
CvCapture* camera = cvCaptureFromCAM(0);
// Print the camera's properties.
printCamResolution(camera);
// Create a window with the given name (displayed at the top of the
// window). Also, we'll make it automatically resize to whatever content
// it displays.
cvNamedWindow("My Window", CV_WINDOW_AUTOSIZE);
// Loop forever until the user quits.
while(1)
{
// This will return the code of the pressed key or -1 if
// nothing was pressed before 10 ms elapsed.
int keyCode = cvWaitKey(10);
if ('c' == (char)keyCode)
{
// The user pressed 'c' (for 'capture').
// Get the latest image from the camera. This
// image should NOT be released manually.
IplImage* image = cvQueryFrame(camera);
// Make the image show up in the named window.
cvShowImage("My Window", image);
// Save the image to a file.
static int imageCount = 0;
char filename[32];
sprintf(filename, "image%d.png", imageCount);
cvSaveImage(filename, image);
++imageCount;
}
else if(keyCode >= 0)
{
// A non-capture key was pressed, so end the loop.
break;
}
}
// Destroy the capture object and the window.
cvReleaseCapture(&camera);
cvDestroyWindow("My Window");
jimnastiq
Messages postés16Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention 4 juin 2007 7 févr. 2007 à 14:38
j'ai testé mais toujours pareil il me demande la source video je selectionne la cam et une fentre grise s'affiche, puis quand j'appui sur 'c' message d'erreur NULL pointer.....
je commence a croire que la cam ne fonctionne pas avec OpenCV
jimnastiq
Messages postés16Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention 4 juin 2007 7 févr. 2007 à 15:14
j'ai de nouvelles infos qui peuvent peut etre eclairer ta lanterne !
j'ai testé les differents algos avec une webcam "classique"(Logitech) et cela fonctionne donc je le probleme viens de ma cam ou de la carte d'acquisition!je sais que ma cam fournit du PAL , crois tu que cela peut etre la cause des problemes recontrés?
jimnastiq
Messages postés16Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention 4 juin 2007 8 févr. 2007 à 09:23
avec ce code cela fonctionne... donc openCV peut fonctionner avec ma cam mais maintenant je me demande pourquoi cela marche avec ce code et pas avec le précédent! et je me demande comment recuperer les trales avec le code qui fonctionne...
#include "cvcam.h"
#include "highgui.h"
int ShowCamVideo(HWND hwnd, int width, int height)
{
VidFormat vidFmt={ width, height, 30.0};
jimnastiq
Messages postés16Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention 4 juin 2007 8 févr. 2007 à 11:52
ok bon ben c'est un mystere alors! en fait avec cvcam j'y arrive mais je semble etre le seul au monde a avoir un compilateur qui rechigne sur le callback!!