[AYUDA] problema en la captura de imagenes desde una camara digital

Buenas a todos, mi consulta es muy larga y un poco rollera, pero he intentado explicar lo mejor posible el problema que tengo, espero que alguien tenga alguna idea de que es lo que está pasando, pues estoy utilizando este mensaje en el grupo casi como último recurso. Si alguien supiera de un foro o sitio mejor donde preguntar esta duda le aseguro que tambien me ayudaria...

Estoy realizando como proyecto fin de carrera un framegrabber (capturador de frames) utilizando una placa VIRTEX, programada en VHDL. El problema está en que una vez implementado el programa, consigo capturar una imagen con una calidad muy mala y con un defecto en concreto que me resulta desconcertante, pues no consiguo hallar dónde o por qué se produce éste...

Como fuente de las imagenes tengo una cámara digital en color OV7620 (una pequeña camara del tamaño de una webcam). Por un bus de 16bit va sacando los pixeles de la imagen en formado 4:2:2, y como señales de sincronismo tiene:

-un reloj de pixel, con el que se sincroniza la captura del bus en cada pixel

-HREF, que sirve para detectar cuando se produce un cambio de linea

-VSYNC, que indica cuando se produce un cambio de frame

-ODD, que en el modo entrelazado (por defecto) indica si el pixel pertenece al campo par o impar

El programa en VHDL está formado por una serie de procesos que cuentan a qué linea y columna pertenece el píxel que está sacando la cámara. Si se dan las condiciones adecuadas (pixel dentro de cuadro de captura, captura activada, etc) el pixel es grabado en la direccion de memoria corespondiente a su columna/fila/campo.

Ese frame guardado está disponible para poder ser leido por otro dispositivo. En estos momentos tengo como salida un monitor de ordenador pero eso ahora mismo no importa. Lo importante es que la captura que realizo de la camara es muy mala.

Se ve en la imagen una serie de columnas verticales oscuras que tienen una posicion estática en la pantalla. Estas columnas , aunque no se mueven de derecha a izquierda tienen un comportamiento muy curioso: algunas veces (muy pocas, y sin que sepa por qué ocurre) desaparecen de la imagen y enconces la imagen que se captura es muy buena, pero estas colunas vuelven a aparecer (de forma GRADUAL) en la imagen en un plazo de un minuto mas o menos. En un principio la explicacion más sencilla es que la cámara está mandando esa informacion erronea (los pixeles oscuros q acarecen agrupados en columnas).Pero se puede descartar esa posibilidad, porque ya he probado dos cámaras del mismo modelo, y las dos dan el mismo defecto, aunque curiosamente con una de ellas saco más número de columnas y más oscuras. Otra es porque las cámaras tienen una salida analógica y ya he podido comprobar que en el caso de la cámara de la que capturo peor en digital, la imagen que saco por la salida analógica es perfecta.

¿Alguien tiene alguna idea de dónde esta el fallo? Estoy la verdad 'mu' jodio si no consigo encontrar la fuente del error y solucionar el problema...

Si alguinen quiere ponerse en contacto conmigo por un medio distinto de este hilo pongo mis dos direcciones donde se puede contactar conmigo:

rubenneitorARROBAhotmail.com rubenneitorARROBAjabberes.org (esta sólo es para mensajeria instantanea (como el messenger))

un saludo

Reply to
Ruben
Loading thread data ...

Supongo que estaras frustrado y te entiendo, nos pasa a todos XD. Pero voy a pedirte unas cosas, que tal una imagencillas de tu problema?.

Con respecto a este, un par de preguntas, con que sacas la señal procesada por el monitor? y otra mas, dices que de vez en cuando desaparecen y la imagen se vuelve perfecta, unos cuantos detalles mas serian de ayuda, si es ciclico, osease se repite cada cierto tiempo, es solo despues de encenderlo y ya no vuelve a ocurrir, tras unos minutos de encendido. ¿?

P.D: Cambie la frase, espero que a pepitof no le moleste, pero es digna de recordar.

--
"Por cierto, de sobra es conocido que no hay quien entienda lo que escriben
los médicos a mano, pero resulta curioso comprobar que tampoco se les
entiende al escribir a máquina." J. M. García

Saludos.
jmoreym@ono.com
Reply to
RooT

Podría ser un fenómeno de interferencia, intermodulación, algo relacionado con la sincronización .. como el efecto estroboscópico (??)

formatting link
Palma.

Reply to
GasparV

"RooT" escribió el news:boblvo$1b7glr$ snipped-for-privacy@ID-207315.news.uni-berlin.de:

XD. Pero

problema?.

detalles mas

tiempo,

unos

es

Bueno, he arreglado un servidor ftp en mi ordenata para que podais bajaros las fotos de lo que sale por el monitor.

ftp://80.24.180.227/ usuario: default pass: default puerto: 21

Las fotos estan hechas con una digital apuntando al monitor, por lo que vereis reflejos en ella. Lo que interesa es el recuadro central, que deberia ser una imagen en B/N. No os fijeis en el defecto que tiene la zona izquierda del cuadro, ya que ese problema ya está resuelto (no tengo ahora mismo la placa conmigo para hacer nuevas fotos :( ). Por cierto TODAS las capturas que tengo en el FTP pertenecen a la camara que mejor me ha funcionado de las dos. Las fotos con el nombre "lineas_que_aparecen" pertenecen a un folio en el que habia impreso con un impresora laser una serie de cuadros pintados con distintos tonos de gris. Las fotos "captura" son de una letra 'O', una 'X' y de un cupón de una gasolinera :P

A tu primera pregunta de por qué precisamente salian las imágenes por el monitor la respuesta no puede ser mas sencilla. El programa con el que estoy haciendo el proyecto es una variacion de otro proyecto que ya utilizaba la salida del monitor para obserbar la captura. Osea, que a falta de hacer algo que sea mas útil me las voy apañando con la salida por monitor y hasta que no consiga resolver el problema de la captura no me merece la pena pasar a la siguiente fase.

A tu segunta pregunta espero que las fotos con el nombre "lineas_que_aparecen" te hagan una idea de cómo van apareciendo éstas en pantalla. Las barras suelen estar siempre y el momento en el que desaparecen no me ha parecido cíclico (por lo menos de un ciclo menor de un minuto), lo puede hacer en cualquier momento, pero en realidad eso ocurre muy pocas veces (que se vea bien). Con una de las dos cámaras e observado que las lineas no estaban desde un principio SIEMPRE que volvia a programar la FPGA. Eso le ocurria a la cámara que funcionaba menor de las dos. La cámara está alimentada a traves de la placa, por lo que no puedo descartar que cuando programo la FPGA (a traves del puerto paralelo del ordenador) no se esté "reiniciando" (apagando y encendiendo) la cámara.

Lo curioso es que el defecto parace tener que ver con algo parecido al ruido, pero si es algun tipo de fenomeno "ruidoso", ¿ por qué a veces asciende de manera gradual? ¿no es eso algo mas bien "analógico"? ¿Dónde y porqué aparecen estas lineas? Quién lo sabe...

un saludo y gracias por todo

Reply to
Ruben

gvidalr@spam_telefonica.net (GasparV) escribió el news: snipped-for-privacy@news.bcn.ttd.net:

una

a

pico

Hummm, la verdad es que no tengo ni idea de en qué consiste el efecto estroboscópico pero si que puede ser una posibilidad. La placa la he probado por lo menos en dos lugares diferentes (mi casa y la universidad) y en los dos casos el comportamiento ha sido el mismo, asi que creo que casi la unica fuente de posible interferencias que se ha mantenido constante en este caso es la misma placa de FPGA...

un saludo y gracias por todo

Reply to
Ruben

Mas bien me referia que con que sistema sacas al monitor la imagen. Como conviertes las capturas de la camara al monitor tras procesarlas, porque si entendido bien lo haces asi.

--
"Por cierto, de sobra es conocido que no hay quien entienda lo que escriben
los médicos a mano, pero resulta curioso comprobar que tampoco se les
entiende al escribir a máquina." J. M. García

Saludos.
jmoreym@ono.com
Reply to
RooT

"RooT" escribió el news:boc30b$1d6f4n$ snipped-for-privacy@ID-207315.news.uni-berlin.de:

imágenes

imagen.

procesarlas,

la salida hacia el monitor la puedo hacer porque la placa tiene una salida de monitor. Con partes de codigo que tambien he heredado del otro proyecto genero los sincronismos para una resolucion concreta (vgacore.vhd). Ya solo me queda leer y sacar por un buffer en concreto el valor del pixel que corresponda a las coordenadas de salida.

Son los archivos "prgramdac.vhd" y "vgacore.vhd" los que se encargan de hacerlo todo, en la entidad principal "nvideo.vhd" yo solo tengo que definir la resolucion en la que escribo (512x480 en mi caso) y mandar los datos que leo de la SRAM de la placa (donde he capturado la imagen) hacia el ramdac.

un saludo

Reply to
Ruben

tuviste que poner el codigo en .rar.....

Reply to
Dario Kusters

Hola rubén

Puede que no sea exactamente esto, pero tiene toda la pinta de ser uno de los siguientes problemas:

- Te entra ruido digital a la alimentación de la camara, suficiente como para generar las rallas ( poco probable porque si no se veria también en la salida analógica)

- Tienes jitter en el muestreo, o no sincronizas correctamente el ojo (el eye) de la ventana de muestreo con las señales de control.

No se como has hecho exactamente el circuito, por lo que no puedo darte más datos, pero lo primero deberia de ser pillar un buen osciloscópio y mirar la/las líneas de captura de datos, utilizando como trigger el flanco de captura de la señal de control.

Deberias de ver que se forma la típica forma de 'ojo' centrada justo en el flanco de captura. Si este flanco no está cenrtado, el jitter puede hacer que aparezcan esas rallas aleatoriamente.

Si no es ésto, podrian ser otras cosas, pero lo creo menos probable.

Melkor ... digital

Reply to
Melkor

"Dario Kusters" escribió el news:boe3pu$1djghk$ snipped-for-privacy@ID-120537.news.uni-berlin.de:

una

yastan zip...

Reply to
Ruben

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.