Classe pour capture image (video) avec webcam usb (utilisant vfw.h)

Soyez le premier à donner votre avis sur cette source.

Vue 33 621 fois - Téléchargée 3 670 fois

Description

Code pour connecter une webcam USB et pour capturer une image BMP (possibilité d'extension pour capturer une video ou du son, voir avec vfw).
Fonctionne avec n'importe quelle webcam après installation du driver de la webcam.
Classe plutot concu pour une application MFC.

Source / Exemple :


Voici une partie du code d'une classe Dlg d'une MFC avec cette classe :

//video : instance de la classe video_cap
//variable globale : handle_window de type HWND : "HWND handle_window ;" 

void CTest_mfc_capvidDlg::OnEssai() 
{
	handle_window = video.Connexion(CTest_mfc_capvidDlg::m_hWnd) ;
}

void CTest_mfc_capvidDlg::OnPreview() 
{
	video.Preview(handle_window) ;
}

void CTest_mfc_capvidDlg::OnSource() 
{
	video.Option_Source(handle_window) ;
}

void CTest_mfc_capvidDlg::OnFormat() 
{
	video.Option_Format(handle_window) ;
}

void CTest_mfc_capvidDlg::OnAffichage() 
{
	video.Option_Affichage(handle_window) ;	
}

void CTest_mfc_capvidDlg::OnCapture() 
{
	CString nom ;
	GetDlgItemText(IDC_NOM, nom) ; // recupere le nom depuis un edit box dans la MFC
	video.nom_fichier = nom.GetBuffer(nom.GetLength()) ;
	video.CaptureImage(handle_window) ;
}

Conclusion :


Classe créée avec Visual C++ 6 by NoNo © (Moi quoi) :)
Pour tout problème ben laissez un message et je vous repondrai ;)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
10 décembre 2007

Salut zed_33,

Utilise plutot le code suivant (tu utilise un pointeur non initialisé).

CAPSTATUS stat;
capGetStatus (window, &stat, sizeof(CAPSTATUS));

A+
AG
Messages postés
2
Date d'inscription
lundi 1 août 2005
Statut
Membre
Dernière intervention
2 août 2005

Bonjour Nono,

merci pour ta classe, j'ai du coup utilisé d'autres fonctions du vfw.h et j'ai des problèmes avec capGetStatus, le pointeur vers CAPSTATUS reste vide, aucune affectation n'est faite, l'as-tu déjà utilisée ?

CAPSTATUS *stat;
capGetStatus (window, stat, sizeof(CAPSTATUS));

merci
Messages postés
2
Date d'inscription
lundi 1 août 2005
Statut
Membre
Dernière intervention
2 août 2005

Bonjour Nono,

merci pour ta classe, j'ai du coup utilisé d'autres fonctions du vfw.h et j'ai des problèmes avec capGetStatus, le pointeur vers CAPSTATUS reste vide, aucune affectation n'est faite, l'as-tu déjà utilisée ?

merci
Messages postés
17
Date d'inscription
jeudi 13 novembre 2003
Statut
Membre
Dernière intervention
21 juin 2005

Bonjour all, j'essayerai de vous mettre une appli de demo si je la retrouve dans mon pc car j'y ai pas beaucoup touché depuis l'année dernière mais je vais revoir ca :)
Messages postés
2
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

Bonjour,
partout je trouve ce genre d exemple mais jamais ce que je recherche.
Je voudrais recuperer le buffer de l image et non l enregistrer dans une image.
Est ce possible de recuperer le contenu de l image sans passer par le fichier bmp ?

je suis passé parles HDC et HBITMAP mais soit c est noir soit ca marche pas :(

merci pour votre aide.
Afficher les 26 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.