Webcam avec Visual C++ 2008

mister0zorg Messages postés 8 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 17 novembre 2008 - 7 août 2008 à 19:01
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011 - 8 août 2008 à 15:47
Bonjour,

J´ai lu beaucoup de sujets sur les webcams, au point que cela devient confu. Beaucoup de codes présenté ici utilisent d´anciennes architectures qui sont déconseilé maintenant comme WFM à la place de WDM.
Avec Visual C++ 2008, j´ai une Form sur laquelle j´ai placé mes élements de commande, ce que je trouve tres pratique. Mais je bloque pour l´utilisation de la Webcam.

Comment puis-je inclure une fenetre où viendra le flux de la webcam?
Est ce que le Flux sera commander par le driver propre à la webcam si j´utilise la classe Directshow ou bien par des drivers indépendants de la webcam fourni par Windows?

Cordialement

3 réponses

SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
8 août 2008 à 09:49
Salut,
Je pense que tu devrai aller jeter un œil du côté d'openCV:
    // capture
    capture = cvCaptureFromCAM(0);
    frame1 = cvQueryFrame(capture);
    
    // Parametres live
    hauteur = frame1->height;
    largeur = frame1->width;

    // allocation
    Bits1 = new BYTE[3 * largeur * hauteur];
    
    // on recupere les données pour les traitements
    cvFlip(frame1, NULL, 0);
    RtlCopyMemory(Bits1, (BYTE*)frame1->imageData, 3*largeur*hauteur);
    
    // sauvegarde ds BMP tempo pour l'affichage de la 1ere frame
    cvSaveImage("TrameTmpVisu.bmp", frame1);
    hBmp = (HBITMAP)::LoadImage(NULL, "TrameTmpVisu.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
 


Cordialement,
Sébastien.
0
mister0zorg Messages postés 8 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 17 novembre 2008
8 août 2008 à 11:38
Salut,
merci pour ta réponse au sujet du flux de la webcam!
J´ai un petit probleme comment intégrer ce code pour que le flux de la webcam s´affiche dans un cadre bien défini de mon application (comme dans cet exemple: http://pixelsetphotons.com/images/stories/Articles/Logiciels/acquisition/craterlet/craterlet.jpg). J´ai débuté avec visual c++ 2008 depuis peu, ainsi je commence d´abord par inclure l´objet sur mon application (la forme); comme quand j´inclu un button; et ensuite je m´occupe du code. Mais là je sais pas comment faire.
Peux-tu m´aider où peut être connais tu un bon tutorial qui pourrai m´expliquer?

Cordialement.
0
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
8 août 2008 à 15:47
Salut,

la partie de code que ci-dessus te permet de récupérer dans un buffer l'image codé en RGB 24 bit ( bmp ),
pour l'afficher sur une forme, j'utilise la classe DxSurfaceMgr, il y a plein d'autre méthode mais celle-ci
te permettra de dessiner sur ton image ( pour incruster du texte, la date, mais surtout dessiner ...)
http://www.codeproject.com/KB/directx/dxsurfacemgr.aspx

Cordialement,
Sébastien.
0
Rejoignez-nous