Enregister une capture de webcam en bmp

Résolu/Fermé
Gilloux22 - 26 févr. 2008 à 11:43
 Gilloux22 - 26 févr. 2008 à 17:05
Bonjour,

Je suis entrain de réaliser une programme qui capture une image à partir d'une webcam en C++. La capture s'effectue à intervalle de temps régulier et enregistre en format bitmap l'image de la capture sur le disque dure. Malheureusement j'ai un problème lors de l'enregistrement de la bitmap.

En effet pour ce qui est de la gestion de la webcam j'utilise le code présenter sur cette page : https://codes-sources.commentcamarche.net/



Pour enregistrer mes information j'utilise cette fonction :

void CWebCam::SaveBitmap(int ID_Bmp)
{
int i, j;
// variable qui vont permettre le parcours de la matrice formant l'image

char Chemin[256];
// chemin d'enregistrement du fichier bitmap

FILE* fichier;
// Pointeur sur le fichier ou l'on enregistre la bitmap

sprintf(Chemin, "%d.bmp", ID_Bmp+10);
// création du chemin d'enregistrement

fichier=fopen(Chemin,"wb+");
// création d'un fichier binaire utilisé en écriture

if(!fichier) exit(-1);

//parcours de la matrice formant l'image et enregistrement des informations dans le fichier
for(i=0;i<240;i++)
for (j=0;j<320;j++)
{
// plan rouge, vert et bleu
fputc(TblImage[ID_Bmp].points[i][j].R, fichier);
fputc(TblImage[ID_Bmp].points[i][j].G, fichier);
fputc(TblImage[ID_Bmp].points[i][j].B, fichier);
}

return;
}

(fonction à incrémenter dans le header webcam.h)

après exécution de cette fonction, il y a bien création d'un fichier .bmp mais malheureusement les logiciels de lecture de bitmap n'arrivent pas à le lire.

Il est sûr qu'il manque des informations à rentrer dans le fichier .bmp que je crée. Ma question est alors qu'elle sont ces informations, et dans quel ordre et comment dois-je les rentrer ?

Merci d'avance pour vos réponse
A voir également:

1 réponse

oups no problem j'ai trouvé, il y a beaucoup plus simple et moins bourrin. il faut utiliser la fonction capFileSaveDIB (cf msdn) de cette manière :

capFileSaveDIB(WebCam.hWnd_WC,"D:/capture1.bmp"); // chemin ou l'on enregistre la bitmap

attention : ces fonctions doivent êter exécuter après avoir fait la connection à la webcam ( cf : WebCam.connect() sur https://codes-sources.commentcamarche.net/

voilà, s'il est possible d'améliorer tout ça je suis ouvert à toutes critiques
;)
1