Bonjour,
Je fais face depuis dèjà 2 jours a un problème qui est pour ma part très frustrant.
Je développe une appli qui gère une webcam, prenant des captures d'images toutes les x secondes, pour ensuite traiter ces images, le tout en mèmoire.
Malheureusement, la webcam que j'utilise (Philips), utilise le format YUY2, or mon traitement d'image ne peux se faire que sur du RGB. J'ai donc voulu utiliser un decompresseur d'image, et je suis tombé sur celui de l'api windows, le Video Compression Manager.
Et en voulant utiliser ces fonctions, j'ai fait planté mon programme .
Plus précisement, qu'importe la fonction que j'utilise de ce Manager, je le fais planté. Et ce toujours au même endroit. Malgré le fait que mon programme compile.
Un exemple de fonctions du manager qui fait planté mon programme :
Mais ce qui me paraît le plus étrange, c'est que, d'après le débugger, c'est la fonction capCreateCaptureWindow qui plante, créant une segmentation fault.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <windows.h> #include <vfw.h> BITMAPINFOHEADER bih; HIC hIC; bih.biSize = sizeof(BITMAPINFOHEADER); bih.biWidth = bih.biHeight = 0; bih.biPlanes = 1; bih.biCompression = BI_RGB; // standard RGB bitmap bih.biBitCount = 8; // 8 bits-per-pixel format bih.biSizeImage = 0; bih.biXPelsPerMeter = bih.biYPelsPerMeter = 0; bih.biClrUsed = bih.biClrImportant = 256; // Fonction permettant de trouver le bon decompresseur en fonction // des formats d'entré et sortie. hIC = ICLocate (ICTYPE_VIDEO, 0L, (LPBITMAPINFOHEADER) &bih, NULL, ICMODE_DECOMPRESS);
Je suis sous Code::Blocks 10.05 et j'utilise uniquement l'api windows et la librairie Vfw.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 HWND captWindows; captWindows = capCreateCaptureWindow( (LPCSTR) "Capture Window", WS_CHILD | WS_VISIBLE, 0, 0, 320, 240,_hwnd, 1); // _hwnd est le HWND de ma fenetre principale, // creer avec capCreateWindow.
Merci d'avance pour vos réponses que j'éspère rapide.
Cordialement,
Demontier.G
Partager