Cambiar la resolución de captura de una webcam

26/07/2003 - 12:36 por Miguel | Informe spam
Hola,

Estoy haciendo unos modificaciones en una dll que permite
capturar imágenes de una webcam usando vfw (video for
windows)

Lo que he introducido ha sido:

dwSize=capGetVideoFormatSize(hWndC);
capGetVideoFormat(hWndC,&videoFormat,dwSize);
videoFormat.bmiHeader.biWidth=width;
videoFormat.bmiHeader.biHeight=height;
videoFormat.bmiHeader.biSizeImage =
(width*height*videoFormat.bmiHeader.biBitCount)/8;
capSetVideoFormat(hWndC,&videoFormat,dwSize);

donde videoFormat está definido así
BITMAPINFO videoFormat;

La cámara que estoy usando es la Webcam Express de
Logitech. Su software permite cambiar entre tres
resoluciones diferentes. A mí, por defecto, me sale la
menor resolución, y al intentar cambiarla, mediante el
codigo antes citado, no se produce ningún efecto, me
mantiene la misma.
 

Leer las respuestas

#1 Hernán
26/07/2003 - 21:23 | Informe spam
"Miguel" escribía:

Hola,

Estoy haciendo unos modificaciones en una dll que permite
capturar imágenes de una webcam usando vfw (video for
windows)

Lo que he introducido ha sido:

dwSize=capGetVideoFormatSize(hWndC);
capGetVideoFormat(hWndC,&videoFormat,dwSize);
videoFormat.bmiHeader.biWidth=width;
videoFormat.bmiHeader.biHeight=height;
videoFormat.bmiHeader.biSizeImage =
(width*height*videoFormat.bmiHeader.biBitCount)/8;
capSetVideoFormat(hWndC,&videoFormat,dwSize);

donde videoFormat está definido así
BITMAPINFO videoFormat;




Bueno, pero BITMAPINFO es una estructura de dimensiones variables. Ya que
puede contener una paleta de colores para una imagen indexada (1, 4, 8
bits), las máscaras para los tres canales de color si es un BI_BITFIELDS
(15 ó 16 bits) ó 0 (cero), si es mayor de 24 bits.

Me parece que videoformat debería ser un búfer de dwSize. Luego, cuando
necesitas trabajar simbólicamente con videoformat, le haces el cast de
BITMAPINFO o BITMAPINFOHEADER.

Talvez sea esto, o no... :)

La cámara que estoy usando es la Webcam Express de
Logitech. Su software permite cambiar entre tres
resoluciones diferentes. A mí, por defecto, me sale la
menor resolución, y al intentar cambiarla, mediante el
codigo antes citado, no se produce ningún efecto, me
mantiene la misma.



Hernán (27)
quilmes.ar

Preguntas similares