 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
tecno Invitado
|
Publicado: Vie 10 Ene, 2003 2:59 pm Asunto: la nueva WinTV no realiza bien la captura de video... |
|
|
¡Hola a tod@s!
Tengo hecha una aplicación en la que, entre otras cosas, capturo imagen a través de una cámara. La captura la realizo con las "cap" de la API de Windows (capCreateCaptureWindow, ...). Mientras utilicé la winTV antigua (bt878) no tuve ningún problema. Pero al cambiar a la nueva winTV (bt88x) sigue capturando la imagen pero con unas rayas verticales que no dejan ver la imagen correctamente, como si ésta estuviera "entre rejas". Por mas vueltas que le doy no soluciono el problema y como Hauppage ha dejado de fabricar la winTV antigua, no tengo repuestos para futuras instalaciones, por lo que no me queda mas remedio que usar la nueva winTV.
¿Alguien tiene idea de cómo solucionar este problema?
A mi se me ocurrió usar el OCX que tienen desarrollado, pero es para VB o para VC++. He intentado pasar el de VC++ a Builder pero me da error.
En fin, que estoy desesperado y no se que hacer. Gracias por leer esta parrafada.  |
|
| Volver arriba |
|
 |
tony Invitado
|
Publicado: Mar 14 Ene, 2003 4:20 pm Asunto: captura de video |
|
|
Hola tecno, tengo que hacer un proyecto fin de carrera sobre reconocimiento de iris y tengo que capturar la imagen con una camara de video enchufada a una tarjeta de tv (AVerMedia CApture). He estado buscando cosas pero no he conseguido nada. Hay una control Activex, el XVideo pero no lo he encontrado, prueba con este enlace que a mi no me funciona a ver si tienes suerte, coneste control no se necesitan Apis.http://www.lacompu.com/desarrollo/download/libreria/librarycompon/xvideo.php3.
Y no sabes cuanto te agradeceria que me mandases el codigo de tu programa que captura la imagen. Te lo pido por favor que llevo 2 meses y no he conseguido nada. Gracias de ante mano.  |
|
| Volver arriba |
|
 |
tony Invitado
|
Publicado: Mar 14 Ene, 2003 4:20 pm Asunto: captura de video |
|
|
Hola tecno, tengo que hacer un proyecto fin de carrera sobre reconocimiento de iris y tengo que capturar la imagen con una camara de video enchufada a una tarjeta de tv (AVerMedia CApture). He estado buscando cosas pero no he conseguido nada. Hay una control Activex, el XVideo pero no lo he encontrado, prueba con este enlace que a mi no me funciona a ver si tienes suerte, coneste control no se necesitan Apis.http://www.lacompu.com/desarrollo/download/libreria/librarycompon/xvideo.php3.
Y no sabes cuanto te agradeceria que me mandases el codigo de tu programa que captura la imagen. Te lo pido por favor que llevo 2 meses y no he conseguido nada. Gracias de ante mano.
Enviamelo a esta direccion por favor tonyjerry@hotmail.com |
|
| Volver arriba |
|
 |
_Willa Capt


Registrado: 28 Ago 2002Mensajes: 169Ubicación: Madrid ( España )
|
|
| Volver arriba |
|
 |
tecno Invitado
|
Publicado: Mie 15 Ene, 2003 1:40 pm Asunto: |
|
|
¡Hola Tony!
Básicamente, hay que hacer los siguientes pasos:
- Crear una ventana donde visualizar lo que queremos capturar:
hwndFoto = capCreateCaptureWindow("wFoto", WS_CHILD | WS_VISIBLE, 5, 5, pnlFoto->Width - 10, pnlFoto->Height - 10, pnlFoto->Handle, idFoto);
- Conectar la ventana con el driver:
SendMessage(hwndFoto, WM_CAP_DRIVER_CONNECT, (WPARAM) 0, 0);
- Poner overlay a TRUE:
SendMessage(hwndFoto, WM_CAP_SET_OVERLAY, (WPARAM) (BOOL) 1, 0L);
Luego, para realizar la captura, tienes varias formas. Hay una función que captura la imagen y la guarda en el portapapeles:
SendMessage(hwndFoto, WM_CAP_EDIT_COPY, 0, 0);
Tambien puedes guardarlo en un fichero temporal (de uso interno por parte de la API) y luego llevarlo a un fichero que te interese:
SendMessage(hwndFoto, WM_CAP_GRAB_FRAME, (WPARAM) 0, (LPARAM) 0L);
SendMessage(hwndFoto, WM_CAP_FILE_SAVEDIB, (WPARAM) 0, (LPARAM) (LPVOID) (LPSTR) "Fotos\\Fichero.bmp");
Para cada "SendMessage" que he usado hay una macro definida por Windows, mas fácil de usar, pero que hace lo mismo.
Este es el funcionamiento básico, pero hay muchas posibilidades. Te sugiero que visites el enlace indicado por _Willa, donde encontrarás una explicación mas detallada del uso del video mediante la API de Windows (eso si, en Ingles claro).
Espero que te sirva lo escrito. Salu2.  |
|
| Volver arriba |
|
 |
tony Invitado
|
Publicado: Mie 15 Ene, 2003 5:27 pm Asunto: caprura de video |
|
|
| Bueno acabo de leer vuestras respuestas y me he quedao un poco a cuadros ya que nunca he programado estas cosas, pero intentare descifrar e enigma. Ahora mismo me pondre manos a la obra. Muchas gracias _willa y Tecno. Ya os contare como va el proceso de decodificación..jejeje. UN SALUDO. |
|
| Volver arriba |
|
 |
jhonalba Ens


Registrado: 24 Ago 2002Mensajes: 40Ubicación: Colombia
|
Publicado: Mie 15 Ene, 2003 5:37 pm Asunto: Puedes encontrar ayuda en... |
|
|
Hola,
Tecno, a cual ocx para visual basic te refieres(sera el VideoCapX???), cualquiera que sea lo podes utilizar en C++ Builder facilmemte, cuentame haber si te puedo hechar una mano. Tu problema podria ser los drivers de tu tarjeta, algo debe estar mal confugurado, asegurate de tener los WDM instalados adecuadamente....
Tony, lo que necesitas para hacer una aplicacion de captura lo podes encontrar aqui:
[url]
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/avicap_4gh1.asp
[/url]
y si quieres un ejemplo que funciona perfectamente en Builder mira esto:
[url]
https://cppbuilder.es/viewtopic.php?t=955&highlight=captura+de+video
[/url]
Y no te desesperes hombre...
Espero haberte ayudado, cualquier cosa escribe nuevamnente.....
Saludos. |
|
| Volver arriba |
|
 |
tecno Invitado
|
Publicado: Jue 16 Ene, 2003 2:01 pm Asunto: |
|
|
¡Hola JhonAlba!
Gracias por tu aportación. Lo del OCX de VB, me refiero al que viene con la WinTV cuando la compras. Además de ese, tambien te viene como ejemplo uno para VC++, ambos con el código fuente. El problema es que no consigo pasar el de VC++ a Builder, por lo que no puedo usarlo (que sería lo mas cómodo).
De todas formas da igual, ya que he "resuelto el problema". Lo entrecomillo porque no se cómo explicarlo (en sentido literal). He descubierto que ajustando los valores de la estructura BITMAPINFO y modificando posteriormente los valores Width y Height para volver a establecerlos (mediante la función capSetVideoFormat) se arregla el problema, pero no se dar la explicación teórica que justifica hacer eso.
El caso es que si establezco dos veces seguidas los valores de BITMAPINFO variando solamente el Width y el Height, la cosa funciona.
Seguiré investigando y si descubro la lógica de todo esto la "colgaré" por aquí.
Bueno, salu2 a tod@s y gracias.  |
|
| Volver arriba |
|
 |
tony Invitado
|
Publicado: Vie 17 Ene, 2003 1:07 am Asunto: captura de video |
|
|
Muchas gracias a todos los que estan arriba de esta respuesta¡¡ No sabeis cuanto os lo agradezco. Muchas gracias Tecno, JhonAlba,_Willa.
Ya me funciona¡¡ Dos meses indagando y me habeis solucionado el problema en 2 dias. Os prometo que aparecereis en las referencias de mi proyecto, jejeje. Bueno ya se a donde tengo que preguntar cuando tenga otra duda. ¡Este foro es la caña¡
Bueno chicos gracias otra vez y hasta otra dudita... |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|