capCaptureSingleFrame()

Signaler
Messages postés
47
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
7 janvier 2018
-
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
-
Salut a tous .
J'utilise la fonction capCaptureSingleFrame() pour recuperer une image avec ma webcam.

capCaptureSingleFrameOpen(window);
capCaptureSingleFrame(window);
capCaptureSingleFrameClose(window)

Mais voila cette fonction capCaptureSingleFrame(window ) me renvoie 0 et
les deux autre me renvoie 1.
L'image recuperee est toute noire.

Si quelqu'un a une explication ou une idée.
Merci d'avance.
A voir également:

6 réponses

Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
Salu xbabilone,

une explication jen ai pas, par contre j'ai une idée, j'ai fais un
petit programme de detection de mouvement de l'image de la webcam, mais
je ne me suis pas servi capCaptureSingleFrame, g utilisé :

- capCreateCaptureWindow, pour créé une fenetre de capture

- capDriverConnect, pour se connecter au driver de la cam

- capPreviewRate, pour définir le taux de rafréchissement

- capPreview, pour afficher l'image



Ce qui donne le petit exemple suivant (en prennant hWnd, handle vers ta fenetre mère):

//Préparation de la fenêtre de capture

hWndc = capCreateCaptureWindow("Fenêtre de capture", WS_CHILD | WS_VISIBLE,0,0,640,480,hWnd,0);

hDcc = GetDC(hWndc);

//Connection au driver de la WebCam

capDriverConnect(hWndc,0);

//Paramètrage du Rafraichissement

capPreviewRate(hWndc,1);

//Visualisation de l'image

capPreview(hWndc,TRUE);



Voila, j'éspère que sa t'aura aidé un peu, et de toute facon, tout est ds la MSDN.




-{ Saifer }-
Messages postés
8
Date d'inscription
vendredi 7 avril 2006
Statut
Membre
Dernière intervention
7 mai 2006

merci saifier pour ton explication, mais je veux juste une petit expliction, en faite on crée une bouton puis en rajoute ce code de dans(vc++)?
merci
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
salu,
en fait tu en fais ce que tu veux du code, mais si tu veux l'utiliser, tu n'a qu'a rajouter ca dans le code de ton bouton par exemple, avant n'oubli pas d'avoir inclu : vfw.h.
une petite précision aussi, capPreview(hWndc,TRUE); sert à actualiser l'image de la webcam, donc bien évidement, il faut mettre cette fonction dans un boucle, si tu veux obtenir la video, logique ^^.

Si tu programme avec les APIs, il te suffis de mettre cette fonction dans la boucle principale de ton programme, lorsque celui ci n'a aucun message à traiter.
Si tu programme avec les MFC, tu peux toujours placer cette fonction (capPreview) dans un thread, et le tour est joué !
J'espère avoir répondu à ta question, sinon hésite pas !

-{ Saifer }-
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
et merde, je sais pas ce que j'ai tourné avec la police de caractère...lol

-{ Saifer }-
Messages postés
8
Date d'inscription
vendredi 7 avril 2006
Statut
Membre
Dernière intervention
7 mai 2006

salut saifer

le fichier vfw.h et la lib vfw32.lib je lait trouve ou?
je sais que je vais faire ça :
#pragma comment(lib,"vfw32.lib") //   ->  LA LIBRAIRIE
#include <vfw.h>     //     VIDEO FOR WINDOWS (VFW)
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
Si tu programme avec vc++, je crois me souvenir que la libraire et le fichier header sont deja fournis.

-{ Saifer }-