Accueil > Forum > > > > [OpenCV] Récuperer le flux video d'une camera
[OpenCV] Récuperer le flux video d'une camera
mardi 6 février 2007 à 17:49:48 |
[OpenCV] Récuperer le flux video d'une camera

jimnastiq
|
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 :
#include <cv.h> #include <cvaux.h> #include <highgui.h> #include <stdio.h>
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; } }
int main() { CvCapture* capture=cvCaptureFromCAM(0); cvNamedWindow("Capture Webcam", CV_WINDOW_AUTOSIZE); cvNamedWindow("Lissage Gaussien", CV_WINDOW_AUTOSIZE); cvSetMouseCallback("Capture Webcam",on_mouse,0);
if(capture) { IplImage* frame=cvQueryFrame(capture); int width = (int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH ); int height= (int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT); IplImage* gray = cvCreateImage(cvSize(width,height), IPL_DEPTH_8U ,1); IplImage* gaussian = cvCreateImage(cvSize(width,height), IPL_DEPTH_8U ,1); printf("PRESS SPACE TO QUIT \n\n"); while(1) { frame = cvQueryFrame(capture); cvShowImage("Capture Webcam",frame); cvConvertImage(frame,gray,1); cvSmooth(gray,gaussian,CV_GAUSSIAN,5,5); cvShowImage("Lissage Gaussien",gaussian); if(cvWaitKey(1)==' ')break; } } else printf("Video stream not found\n\n"); cvWaitKey(0); return 0; }
|
|
mercredi 7 février 2007 à 11:21:46 |
Re : [OpenCV] Récuperer le flux video d'une camera

turnerom
|
Change dans ta ligne
avi = cvCaptureFromCAM(-1);
-1 par 0, 1, 2, ... 9 jusqu'à ce que tu trouve un flux.
|
|
mercredi 7 février 2007 à 11:38:30 |
Re : [OpenCV] Récuperer le flux video d'une camera

jimnastiq
|
Merci pour ta réponse mais ce ne fonctionne pas!
d'ailleurs '-1' devrait fonctionner car cj'ai lu qu'avec une seul camera cela fonctionne ...
sinon penses tu que c'est un probleme de driver avec la camera, ou un probleme de compatibilité openCV-camera?
|
|
mercredi 7 février 2007 à 11:49:33 |
Re : [OpenCV] Récuperer le flux video d'une camera

jimnastiq
|
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?
|
|
mercredi 7 février 2007 à 11:56:18 |
Re : [OpenCV] Récuperer le flux video d'une camera

turnerom
|
Ok, mais question bete, tu arrive à l'afficher correctement avec windows (si tu l'ouvre avec l'application livré avec)?
|
|
mercredi 7 février 2007 à 13:18:52 |
Re : [OpenCV] Récuperer le flux video d'une camera

jimnastiq
|
oui sous msn et sous studio 10 la camera fonctionne! une idée du probleme? 
|
|
mercredi 7 février 2007 à 14:07:56 |
Re : [OpenCV] Récuperer le flux video d'une camera

turnerom
|
Essaye avec ce bout de code qui marche chez moi ( en faisant varier la valuer de cvCaptureFromCAM(0);)
ps : laisse appuyé sur la touche 'c' pour acquérir la vidéo
_________________________________________________________________
// C++ includes.
#include
// OpenCV includes.
#include
#include
void printCamResolution(CvCapture* camera)
{
std::cout << std::endl;
std::cout << "Camera Capture Resolution:" << std::endl;
std::cout << "=================" << std::endl;
std::cout << "Video width: " << cvGetCaptureProperty(
camera, CV_CAP_PROP_FRAME_WIDTH) << std::endl;
std::cout << "Video height: " << cvGetCaptureProperty(
camera, CV_CAP_PROP_FRAME_HEIGHT) << std::endl;
std::cout << std::endl;
}
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");
return 0;
}
|
|
mercredi 7 février 2007 à 14:38:16 |
Re : [OpenCV] Récuperer le flux video d'une camera

jimnastiq
|
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 
|
|
mercredi 7 février 2007 à 15:14:15 |
Re : [OpenCV] Récuperer le flux video d'une camera

jimnastiq
|
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?
|
|
jeudi 8 février 2007 à 09:23:44 |
Re : [OpenCV] Récuperer le flux video d'une camera

jimnastiq
|
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};
int ncams = cvcamGetCamerasCount( ); cvcamSetProperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE); cvcamSetProperty(0, CVCAM_PROP_CALLBACK,0); cvcamSetProperty(0, CVCAM_PROP_WINDOW, &hwnd);
//Set Video Format Property cvcamSetProperty( 0, CVCAM_PROP_SETFORMAT, &vidFmt);
if( !cvcamInit() ) return 0; cvcamStart(); return 1; }
int main( int argc, char** argv ) { cvNamedWindow("cvcam window", CV_WINDOW_AUTOSIZE); if( ShowCamVideo((HWND)cvGetWindowHandle("cvcam window"), 640, 480) ) { cvWaitKey(0); cvcamStop(); } cvcamExit(); }
|
|
Cette discussion est classée dans : int, flux, video, capture, cv
Répondre à ce message
Sujets en rapport avec ce message
Capture d'un flux video sur un réseau local [ par tylerssc ]
Salut à tous, Nous commencons actuellement un projet qui dans l'ensemble nous permettra de gérer un système de video surveillance avec possibilité de
capture video d'un écran [ par micke_II ]
Bonjour à tous!Je voudrais capturer mon écran, mais en video (certainement comme le font ce qui mettent des videos sur CS). Est-ce que quelqu'un conna
Capture video DV vers AVI [ par francois33 ]
Bonjour Je cherche a faire la capture d'une video provenant d'une camera DV et a l'enregistrer sous forme de fichier AVI
Capture de video avec OpenCV [ par Snake56700 ]
Bonjour,J'ai fais un programme a l'aide d'openCV qui permet de récupérer le flux video d'une webcam labtec et de l'afficher dans une fenêtre, celui-ci
capture de flux d une camera IP et detecttion d intrusion physique en c++ [ par mannatheking ]
voilà j ai un projet de fin d'etude qui s intitule capture de flux video d une camera IP et detection d intusion en C++ sur windows.pour le moment je
ATI Rage Theater Video Capture [ par satan_666 ]
Bonjour, j'ai une carte video ATI ALL-IN-WONDER 9600 SE (Caméra est connecter RCA) et j'aimerais faire l'aquisition video avec un programme en C++. J'
capture de flux via RS232 [ par iraclus ]
j'ai un petit soussi je ne sais pas capturer un flux afin de l'etudier en mettant par exemple les bytes choisie dans un tableau afin de les exploiter
capture de flux via RS232 [ par iraclus ]
bonjour a tous j'ai un soussi pour capturer un flux via rs232 afin de l'analiser et d'utiliser les bytes capturer pour les mettres dans un programme d
Capture flux video Camera AXIS 215 PTZ [ par punisher83 ]
Bonjour à tous,voilà j'ai un problème, je travaille sur une camera axis et je n'arrive pas à capturer le flux de ma caméra sous Qt, pour le moment j'a
openCV : Modifier la Résolution d'un flux video Webcam [ par Daemonight ]
Bonjour à tous,afin de travailler sur un projet de Stereo Vision avec openCV, je souhaiterai savoir s'il est possible de modifier la taille (résolutio
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft 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
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
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
|