HOY en día, los arreglos de compuertas



Documentos relacionados
Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

Laboratorio 4: Uso de una FPGA

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

Ing. Fernando Saá. RESUMEN

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

Metodologías de diseño de hardware

Figura 1.4. Elementos que integran a la Tecnología de Información.

CONTROL DIGITAL PARA CONVERTIDOR MULTINIVEL ALIMENTADO CON ENERGÍA SOLAR. Anexo A: FPGA. Introducción

1. VIRTUALIZACION DEL PROCESO REAL.

Implementación de la transformada wavelet discreta para imágenes en un FPGA

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech

DESCRIPCION DEL SITEMA MASTER.

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

JAVAFilters: Cálculo y Diseño de Filtros Analógicos y Digitales Primavera 2004

IdsGpsWeb CENTRO DE CONTROL

1.- DATOS DE LA ASIGNATURA. Diseño Digital Avanzado con FPGAs. Nombre de la asignatura: Carrera: Ingeniería Electrónica. Clave de la asignatura:

5. Despliegue en la PC

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

INGENIERIA EN MICROCONTROLADORES. Protocolo RS-485. Introducción

Manual de Procedimientos

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Figura 87. Apariencia física de VIFIBIO

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

Capítulo 1 CAPÍTULO 1-INTRODUCCIÓN-

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Solución de No conformidades

1. Aplicación de la conmutación de circuitos y la conmutación de paquetes. 1.1 Sistema de señalización número 7 (SS7).

Por el rápido crecimiento de Internet la tecnología se ha tenido que adaptar para cubrir las

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

4. METODOLOGÍA. 4.1 Materiales Equipo

TEMA VII: DISEÑO SECUENCIAL PROGRAMABLE

Introducción. 3.1 Modelo del Transistor

TELEX. SISTEMA PARA EL CONTROL DE GASTOS TELEFÓNICOS Anyell Cano Ramos Ministerio de Relaciones Exteriores Cuba RESUMEN

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

CAPITULO I INTRODUCCION. Conforme la informática avanza, las imágenes se han convertido en un área muy

Instructivo para la elaboración de un Manual Técnico

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Digitalización de imágenes con ayuda del histograma

CAPÍTULO 3. ALGORITMOS DE PREVISIÓN BASADOS EN LA EXTRAPOLACIÓN DE LOS DATOS MÁS RECIENTES

Figura 4.1 Clasificación de los lenguajes de bases de datos

Organización de Computadoras. Turno Recursantes Clase 8

El Rol Estratégico de los Sistemas de Información. Aplicaciones de sistemas clave en la organización (1)

SISTEMA DE SEGUIMIENTO DE BUQUES (VMS) DE ICCAT

Tema 4. Gestión de entrada/salida

Redes de alta velocidad. William Stallings Traducido por Horacio Goetendía Bonilla

GRADO EN INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA INDUSTRIAL

El acondicionamiento de una señal consiste en la manipulación electrónica de dicha señal,

CAPITULO 5. DISPOSITIVOS DE LOGICA RECONFIGURABLE

Software de identificación y ubicación mediante GPS para radios digitales MOTOROLA Con Control de rondas y Gestión de control del riesgo

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

DISEÑO DE SISTEMAS DIGITALES COMPLEJOS

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Impresión de datos variables

Gestión del equipo de trabajo del almacén

Lista de la Verificación de la Gestión de la Seguridad y Salud Ocupacional 1

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

PROCEDIMIENTO DE ENLACE TCPIP

Manual etime para supervisores

Análisis y cuantificación del Riesgo

Operación 8 Claves para la ISO

UPDATE BERUTI CABA TEL:

Unidad II: Administración de Procesos y del procesador

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

Servicio de telefonía ip de la Universidad Carlos III de Madrid

Partes, módulos y aplicaciones de un Controlador de Procesos

CAN BUS Controller Area Network:

MANUAL PARA EL PROCESO DE VERIFICACION LABORAL PLATAFORMA WEB CERILAPCHILE S. A. V 3.0

Capítulo 5. Cliente-Servidor.

DESCRIPCIÓN TÉCNICA SYSTEM MANAGER SOFTWARE (SMS)

SOFTWARE DE SIMULACIÓN EN TELECOMUNICACIONES ANALÓGICAS (LVSIM -ACOM), MODELO 9480

El Auditor y la organización

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES

Arquitectura Básica para Controladores de Lógica Difusa a Programarse en FPGAs

UN SIMULADOR DE UNA MAQUINA COMPUTADORA COMO HERRAMIENTA PARA LA ENSEÑANZA DE LA ARQUITECTURA DE COMPUTADORAS

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014)

Arquitectura de Redes y Comunicaciones

1.2 Concepto de un Sistema de Información Geográfica (SIG)

Clase 20: Arquitectura Von Neuman

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

INSTRUMENTACIÓN ELECTRÓNICA II

Formato para prácticas de laboratorio

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Técnicas de Programación Hardware: CAD para FPGAs y CPLDs

[ ] introducción. Sistema de información para el análisis de servicios prestados en redes Ad hoc. resumen. Aura Rosa Beltrán A. Gerardo Gutierrez S.

CAPITULO 3: SISTEMAS ADICIONALES PARA EL CENTRO DE LLAMADAS DE EMERGENCIA

Circuito de refresco de un Display

TEMA 4. Unidades Funcionales del Computador

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

II.1. Situación actual 2. II.2. Necesidades requeridas 3 III. DESCRIPCIÓN DE LOS SERVICIOS A CONTRATAR 3 5 IV. ORGANIZACIÓN DE LOS TRABAJOS 6

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software

Las TIC se constituyen como herramienta esencial para que las empresas aragonesas puedan continuar compitiendo en el mercado

La evaluación del desempeño es un aspecto

Aplicación de la reconfigurabilidad dinámica de la FPGA Virtex de Xilinx *.

Transcripción:

ENINV IE 2010 Encuentro de Investigación en Ingeniería Eléctrica Zacatecas, Zac, Marzo 25 26, 2010 Plataforma para la implementación de algoritmos de Procesamiento Digital de Imágenes en arquitecturas reconfigurables Córdova D., García E., y Moreno A. Lab. de Procesamiento Digital de Señales, Depto. de Ingeniería Eléctrica, Zacatecas ZAC-98000. TEL: +(492)9239407, ext. 169 correo-e: diana mce@hotmail.com, egarcia@uaz.edu.mx, morenob20@hotmail.com Resumen En este documento se presenta la información referente al desarrollo de una plataforma que permite procesar imágenes mediante el uso de arreglos de compuertas programables en campo (FPGA). Esta plataforma se implementó en el FPGA Spartan 3 de Xilinx cuyos módulos de recepción, transmisión y procesamiento fueron diseñados en el lenguaje de descripción de hardware (VHDL) con ayuda del software Xilinx ISE8.2i, obteniendo un sistema de procesamiento que trabaja en sincronía entre la PC y el FPGA. Abstract On this document is presented the information about the implementation of a platform that allows image processing using Field Programmable Gate Array (FPGA). This platform was implemented in the Spartan 3 FPGA from Xilinx, the modules of reception, transmission and processing were designed in hardware description language (VHDL) with the Xilinx ISE8.2i software, obtaining this way a system that works in synchrony between the PC and FPGA. Descriptores Arquitecturas reconfigurables, FPGA, Procesamiento Digital de Imágenes, VHDL. I. INTRODUCCIÓN HOY en día, los arreglos de compuertas programables en campo (del inglés, FPGA Field Programmable Gate Array) son una opción atractiva para el desarrollo de aplicaciones de procesamiento digital, debido a que disponen de una arquitectura reconfigurable que permite una gran capacidad de paralelismo y flexibilidad. Aunque las primeras generaciones de FPGAs fueron limitadas, en la actualidad y con el desarrollo de la tecnología, los FPGAs incorporan más elementos con una amplia gama de soluciones de conectividad, haciendo posible el diseño de complejos y potentes sistemas en un solo dispositivo. Una de sus múltiples aplicaciones está dirigida al área de Procesamiento Digital de Imágenes (PDI), en donde se han desarrollado plataformas que permiten realizar algoritmos como la igualación de histograma (realce), filtrado (remoción de

287 ENINV IE 2010 Encuentro de Investigación en IE, 25 26 Marzo, 2010 ruido) y segmentación, obteniendo resultados óptimos. De acuerdo a lo anterior, el trabajo se encuentra estructurado de la siguiente manera. En la sección II se abordan aspectos fundamentales sobre los dispositivos reconfigurables (FPGAs), así como su forma de programación. En esta misma sección se exponen los conceptos referentes a los algoritmos de PDI que se trabajan en el proyecto. EnlasecciónIIIserealizaunadescripcióngeneral del proyecto a desarrollar, destacando los componentes principales de la Plataforma de desarrollo para Procesamiento Digital de Imágenes, así como algunas limitantes que presenta. En seguida (sección IV), se muestra de una manera más detallada el diseño de la Plataforma, destacando la descripción funcional de cada uno de los componentes mediante el uso del lenguaje VHDL, para su posterior implementación en el FPGA. Finalmente, en la sección V, se realiza la validación del sistema completo. Para esto se utilizan algunas imágenes de prueba que son procesadas de manera satisfactoria por el algoritmo implementado dentro del FPGA. II. FUNDAMENTOS TEÓRICOS módulos son independientes entre sí y pueden interconectarse para formar un módulo más complejo. La gran ventaja de utilizar estos dispositivos radica en que todo el desarrollo se lleva a cabo en un solo ambiente de trabajo. El diseñador propone la función lógica a realizar y en base a métodos de descripción define los parámetros de su problema. Esto se hace por medio del Lenguaje de Descripción de Hardware (VHDL). A. Arquitectura FPGA Para llevar a cabo el presente proyecto se utilizó el FPGA de la serie Spartan 3 de Xilinx. Esta familia presenta varias características que la hacen apropiada para análisis de imágenes [1], como: Bloques lógicos configurables (CLB, Configurable Logic Blocks). Bloques de Entrada/Salida (IOB, Input/Output Blocks). Bloques de RAM. Multiplicadores. Manejador de Reloj Digital (DCM, Digital Clock Manager). En la Figura 1 se muestra el diagrama a bloques para los dispositivos de la familia Spartan 3. Los FPGAs son circuitos integrados que contienen bloques de lógica configurables(clb), bloques de entrada y salida (IOB) y canales de comunicación cuya interconexión y funcionalidad se puede programar. Un FPGA se compone de elementos con recursos no comprometidos que pueden ser seleccionados, configurados e interconectados por el usuario. Estos dispositivos se componen de cierto número de módulos lógicos, que determinan la capacidad del dispositivo. Los Figura 1. Diagrama de bloques básico para la familia Spartan 3.

Córdova et al.: Plataforma para PDI en FPGA 98 3 B. Lenguaje de Descripción de Hardware (VHDL) Para llevar a cabo la programación del FPGA es necesario utilizar un lenguaje de descripción de Hardware (VHDL) que consiste en una serie de instrucciones y directivas parecidas a los lenguajes de programación de alto nivel. A diferencia de estos lenguajes, los lenguajes de descripción de hardware no se usan para implementar un algoritmo en una computadora. Como su nombre lo indica, se utilizan para describir componentes que forman parte de un circuito y su interconexión, además de que soportan nociones de tiempo real. La estructura general de un programa en VHDL está formada por módulos o unidades de diseño, cada uno de ellos compuesto por un conjunto de declaraciones e instrucciones que definen, describen, estructuran, analizan y evalúan el comportamiento de un sistema [2]. De este modo, una entidad VHDL es simplemente una declaración de las entradas y salidas de un módulo, mientras que una arquitectura VHDL es una descripción detallada del comportamiento o estructura interna del módulo (ver Figura 2). archivo de texto (Ej. diseño1.vhd) entity: declaración de entidad architecture: definición de arquitectura Figura 2. Estructura de un programa en VHDL. C. Técnicas de Procesamiento Digital de Imágenes Existe una gran variedad de técnicas en el área de Procesamiento Digital de Imágenes, sin embargo algunas de ellas, aunque simples sirven de base para el desarrollo de algoritmos más complejos. Estas técnicas como el histograma, aportan información importante acerca de la calidad o contraste que presenta la imagen. Hay otras técnicas, como la igualación de histograma, que son utilizadas para tareas de realce, lo cual permite obtener imágenes de mejor calidad para su procesamiento posterior en tareas de segmentación, reconocimiento, etc. En la siguiente sección, se hace la fundamentación de estos algoritmos para su posterior implementación en la Plataforma planteada, la cual puede servir de base para el desarrollo de algoritmos más complejos. C.1 Igualación de Histograma Muchas técnicas de procesamiento digital de imágenes hacen uso de la información que aporta el histograma. El histograma de una imagen f(x,y) con niveles de gris en el intervalo de [0, L], denotado por h(r k ), es una función disctreta dada por : h(r k ) = n k (1) donde r k es el k-ésimo nivel de gris y n k es el número de pixeles con nivel de gris k. La gráfica de h(r k ) Vs. n k es llamada propiamente histograma y sirve de base para la técnica llamada igualación de histograma, utilizada principalmente en aplicaciones de realce de imágenes que incluyen radiología, imágenes térmicas, etc.

410 9 ENINV IE 2010 Encuentro de Investigación en IE, 25 26 Marzo, 2010 A partir de (1), es posible obtener un histograma normalizado respecto al número total de pixeles (N) en la imagen [3] : p(r k ) = n k N (2) La función descrita por(2) corresponde a una función de distribución de probabilidad (fdp) asociada con el histograma de la imagen de entrada. En base a la ecuación anterior, puede definirse la función de distribución acumulativa (fda) como: con k=0, 1, 2,..., L-1. k s k = p(r j ) (3) j=0 Esta función se emplea posteriormente como regla de transformación para convertir los valores de los pixeles de la imagen de entrada en valores distintos en la imagen de salida. En esencia, es una técnica que realiza un ajuste o redistribución de los pixeles para lograr un histograma uniforme, logrando un incremento en el rango de los niveles de gris y consecuentemente, un aumento en el contraste de la imagen resultante. III. PLANTEAMIENTO DEL PROYECTO Se plantea el diseño de una Plataforma en FPGA que permita realizar la descripción de las funciones de procesamiento digital de imágenes empleando VHDL. La Plataforma consiste en los siguientes módulos: 1. Captura o carga de las imágenes. Esta etapa incluye la captura de imagen de entrada a partir de una cámara conectadaalacomputadora.atravésdeunprograma desarrollado en Matlab, se captura y transfiere (vía serie) la imagen hacia el módulo de procesamiento (FPGA). 2. Módulo de Procesamiento en el FPGA. Permite implementar y verificar diferentes estructuras o propuestas de los algoritmos de procesamiento de imágenes. 3. Etapa de despliegue. Es la encargada de mostrar las gráficas o imágenes que ilustran el resultado del procesamiento. La imagen procesada es enviada hacia la computadora para ser desplegada por la aplicación desarrollada en Matlab. De manera opcional, la imagen resultante puede ser enviada también hacia el puerto VGA que contiene la tarjeta para mostrar los resultados en un monitor. En esta primera versión del sistema, se utiliza la computadora tanto para la captura de la imagen, como para el despliegue de los resultados del procesamiento, ya que la idea principal de esta propuesta es que sirva de base para el desarrollo y verificación de los algoritmos en el FPGA, dejando de lado el procesamiento en tiempo real, debido al retardo implícito en la transferencia de los datos entre la PC y la tarjeta FPGA. Sin embargo, la computadora puede ser reemplazada por una tarjeta de adquisición que realice directamente la captura y transferencia de la imagen hacia el FPGA y por otra parte se puede desplegar la información a través del puerto VGA para tener una Plataforma completamente independiente, que pueda incluso ser aplicada en sistemas de procesamiento en tiempo real. EnlaFigura3semuestralaPlataformacompleta.

Córdova et al.: Plataforma para PDI en FPGA 10 11 5 Figura 3. Plataforma para implementación de algoritmos de Procesamiento Digital de Imágenes. IV. IMPLEMENTACIÓN DEL MÓDULO DE PROCESAMIENTO Dado que la tecnología basada en FPGA permite realizar un diseño modular, se hizo la descripción funcional de cada componente mediante el lenguaje VHDL, dando como resultado el bloque mostrado en la Figura 4. En éste se muestran las terminales de entrada y salida del componente completo, que incluye tanto la interfaz de recepción y transmisión así como el módulo de procesamiento de imágenes. Rx: Línea de recepción (entrada al módulo Receptor RxRS232). Tx: Línea de transmisión (salida del módulo Transmisor TxRS232). FinTx: Línea que indica el fin de la transmisión. Dato: Señal de entrada y salida (pixeles de la imagen). Strobe: Señal que habilita la transmisión, siempre y cuando el dato sea válido. Imap: Señal de salida (imagen procesada). La función de cada uno de estos módulos es la siguiente: A. Módulos de transmisión (Tx) y recepción (Rx) Son los componentes encargados de la transferencia de la información entre la computadora (PC) y la tarjeta FPGA a través del puerto serie, utilizando el estándar de comunicación RS-232C. El diseño de estos módulos permite que la velocidad de transmisión/recepción de los datos pueda ser configurada para diferentes valores (típicamente 2400, 4800,... 115200 bps). Sin embargo, para minimizar el retardo debido a la transferencia de las imágenes, se fijó la velocidad más alta. Con esto, el formato de transmisión es de 115 200 bps, 8 bits por dato, sin paridad y un bit de paro (115200, 8,N,1). B. Módulo de procesamiento Figura 4. Módulos para la recepción, transmisión y procesamiento de la imagen. Lafunción de cadaunade las terminalesqueda descrita de la siguiente forma: clk: Reloj base del sistema (Frec=50 MHz). rst: Reset del sistema. Corresponde al bloque donde se diseña la estructura que tendrá el algoritmo de procesamiento que se desea implementar. Para verificar el adecuado funcionamiento de la Plataforma propuesta se llevó a cabo el diseño de un módulo en el FPGA para realizar el ajuste de contraste de una imagen, a través de la técnica de igualación de histograma.

612 11 ENINV IE 2010 Encuentro de Investigación en IE, 25 26 Marzo, 2010 Generalmente, el método para realizar la igualación del histograma parte precisamente de la obtención del histograma h(r k ) hasta llegar al cálculo de la función de distribución acumulativa, definida en (3). En [4] y [5], se presentan métodos simples y directos para realizar el algoritmo de igualación de histograma usando un FPGA. Sin embargo, estos esquemas muestran que el mínimo tiempo requerido para el cálculo del histograma y la igualación de histograma para una imagen de tamaño 256 x 256 (con una frecuencia de reloj de 50 MHz) es mayor de 13 ms. Para imágenes de mayores dimensiones (por ejemplo de 512 x 512), el tiempo de cálculo en este tipo de diseños se incrementa por un factor de 4, lo cual hace prohibitivo su uso en algunas aplicaciones que involucren tiempo real. A pesar de que el objetivo de este trabajo, en esta primera instancia, no incluya el procesamiento en tiempo real, el algoritmo para el cálculo de la igualación de histograma se basa en la arquitectura propuesta en [6]. Una de las ventajas de esta configuración es que realiza el cálculo tanto del histograma, como la igualación prácticamente en paralelo, lo cual implica un menor tiempo de procesamiento. El diagrama a bloques del módulo para la igualación del histograma se muestra en la Figura 5: Reloj Reset Decodif. 8 a 256 Hab Temporización y control y0 y1 y255 Arreglo de 256 Contadores (16 bits) Multiplexor Selector Tabla de Transform. RAM (256x 8) Dirección Figura 5. Módulo para la Igualación del histograma. El esquema anterior está diseñado para calcular la tabla de transformación (igualación de histograma) para imágenes en tonos de gris (L=256), de tamaño 256 x 256. El circuito consta de las siguientes unidades: Contadores de 16 bits: Este arreglo de contadores reemplaza el esquema clásico para cálculo del histograma, donde generalmente se utiliza una memoria RAM de 256 localidades. Cada contador es responsable de efectuar dos tareas: Primeramente, cuenta el número de ocurrencias de cada nivel de gris en el intervalo de 0 a 255 y de forma simultánea acumula la probabilidad del nivel de gris actual, con la probabilidad de todos los pixeles cuyos valores sean menores que el valor del pixel actual. El resultado de este proceso de acumulación (función de distribución acumulativa), corresponde a los valores que serán almacenados en la tabla de transformación. Ya que el cálculo de la tabla es realizado en forma paralela al cálculo del histograma, se da un ahorro de tiempo en el proceso. Decodificador de 8 a 256: Se trata de un decodificador no convencional, ya que además de activar una única salida por cada combinación de entrada, adicionalmente todas las salidas asociadas con entradas que tengan niveles de gris mayores al valor del pixel actual, son forzadas a un nivel lógico alto. Por lo tanto, la función principal de este decodificador es habilitar a los contadores asignados tanto al pixel actual como a los pixeles cuyos valores sean mayores que éste, de tal forma que el cálculo del histograma y de la función de transformación se ejecute en paralelo. Multiplexor: Se encarga de transferir la

Córdova et al.: Plataforma para PDI en FPGA 12 13 7 cuenta registrada por los contadores hacia la memoria. Tabla de transformación (Memoria RAM): Los valores almacenados en este bloque corresponden a la tabla de transformación que se utiliza para modificar la imagen de entrada y producir la imagen mejorada. Ctos. de temporización y control: Son los circuitos que generan las señales de sincronía entre los distintos elementos del sistema, además de controlar el flujo de la información a través de los mismos. unidad, por lo que deberá ser escalada para cubrir el intervalo de[0,255]. El eje horizontal corresponde a los niveles de gris de la imagen de entrada y el eje vertical a los niveles de la imagen de salida. Los valores de esta función son calculados dentro del módulo y almacenados en la Memoria RAM. V. PRUEBAS Y RESULTADOS Se realizó la validación del algoritmo bajo prueba por medio de la tarjeta Spartan 3 de Xilinx, dando los siguientes resultados. En la Figura 6 se muestra la imagen original y su histograma respectivo. De éste, se obtiene que el máximo nivel de gris presente en la imagen es de 128, lo cual implica un intervalo dinámico de tonos de gris relativamente pequeño. Esto se traduce en una imagen con un bajo nivel de contraste. Figura 7. Funciones de distribución de probabilidad (fdp) y de distribución acumulativa (fda). La Figura 8 corresponde al resultado que entrega el algoritmo de igualación implementadoenelfpga.seanexaelhistogramadonde sevelaredistribucióndelosnivelsdegris,para cubrir prácticamente el intervalo completo [0, 255]. En la imagen procesada se aprecia el efecto de la técnica de igualación, la cual incrementa el nivel de contraste de la imagen original. Figura 6. Imagen original e histograma. La Figura 7 muestra las gráficas correspondientes a los valores de la función de distribución de probabilidad (fdp) y de distribución acumulativa (fda) dadas en (2) y (3) respectivamente. La gráfica de la fda es una función monótonamente creciente cuyo valor máximo es la Figura 8. Imagen procesada e histograma. VI. CONCLUSIONES Es posible llevar a cabo técnicas de Procesamiento Digital de Imágenes por medio de arquitecturas reconfigurables (FPGA) obteniendo resultados satisfactorios.

813 14 ENINV IE 2010 Encuentro de Investigación en IE, 25 26 Marzo, 2010 La plataforma presentada muestra algunas limitantes referentes al procesamiento en tiempo real, debido al retardo implícito en la transferencia de la información. Sin embargo éstas pueden ser subsanadas empleando un módulo de captura que transmita directamente la imagen al módulo de procesamiento. Con esto, se puede alcanzar un sistema de procesamiento independiente de la PC. Lo anterior puede ir aunado a la inclusión de un monitor VGA conectado al puerto de la tarjeta, para el despliegue de los resultados. [6] Alsuwailem A. M. A Novel FPGA Based Realtime Histogram Equalization Circuit for Infrared Image Enhancement, J. of Active and Passive Electronic Devices, Vol. 3, p.-311-321. Esta plataforma puede servir de base para la incorporación de bloques de procesamiento más complejos, teniendo en cuenta la dificultad inherente que presenta la descripción funcional de dichos algoritmos a nivel de circuitos. Para la implementación de un diseño en el FPGA, se deberán contemplar diferentes aspectos como: capacidad de la plataforma (FPGA), simplicidad de la estructura propuesta, tiempo de procesamiento, etc., dependiendo de los requerimientos de la aplicación. Referencias [1] Sánchez, M., Diseño en FPGA de un circuito comparador de imagenes, Centro de Investigación y de Estudios Avanzados Instituto Politécnico Nacional, 2005, p.-33-56. [2] Maxinez, D., Alcalá, J., VHDL, El arte de programar sistemas digitales, Patria, Pub. Co.,2008, México. [3] González, C., Woods, E., Digital Image Processing, Addison-Wesley, Pub. Co., 1992, United States of America. [4] Xiying, L., Guqiang, N., Yanmei, C., Tian, P. and Yanli, Z. Real-time Image Histogram Equalization Using FPGA,Proc. Spie, Conf., 3561, 1998, p.-293-299. [5] Dongsheng, G.,Nansheng, Y., Defu, P. Min, H., Xiaoyan, S. and Reolan,Z. A DSP+FPGA based real-time histogram equalization system of infrared image, Proc. Spie, 4602, 2001, p.-160-165.