Introducción

En esta unidad se actualizarán y explicarán diferentes conceptos utilizados en el procesamiento de imágenes como luz, color, luminancia, crominancia, digitalización de imagen, operaciones básicas entre matrices y pixeles.

También, se abordarán los temas de modelos o espacios de color más utilizados y los formatos de archivos en donde se guardan las imágenes en los medios computacionales, distinguiendo sus características.

Existe diferente software de desarrollo para utilizar en esta asignatura, pero, con las limitaciones de licencias que posee la universidad, se utilizará Matlab® y Simulink®.

El estudiante, una vez culmine la asignatura tiene los conceptos necesarios para extrapolar lo aprendido hacia otro software de desarrollo como OpneCV. Python, C/C++. Labview, Java y otras aplicaciones informáticas.

Propósitos de aprendizaje

Propósito general

Acondicionar los datos digitales obtenidos de dispositivos de captura de imágenes para ser pre-procesados y alistados, y manipularlos por medio de algoritmos computacionales que arrojen información válida para el análisis automatizado y confiable.

Propósitos específicos

  • Adquirir los conceptos necesarios para la solución de problemas en ingeniería, apoyado en los fundamentos y herramientas de software matemático como Matlab® y Simulink® con el fin de mejorar los resultados de los datos de las imágenes de interés.
  • Identificar el lenguaje básico utilizado en el desarrollo de la asignatura.
  • Realizar operaciones con matrices, vectores y bits que representan las imágenes en forma de pixeles.
  • Identificar los modelos o espacios de color y formatos de archivos utilizados para representar las imágenes.

Secuencia para el procesamiento de imágenes

El procesamiento de imágenes se aplica en varias actividades en donde se puedan combinar las imágenes con algoritmos computacionales, está presente en:

  • Visión artificial por computador.
  • Vigilancia.
  • Aprendizaje autónomo de las maquinas.
  • Procesamiento de señales análogas y digitales.
  • Robótica industrial y asistencial.
  • Análisis de imágenes médicas.
  • Video para vigilancia.
  • Vehículos autónomos.
  • Seguridad.
  • Dispositivos de consumo masivo.
  • Aplicaciones agrícolas.
  • Computación geoespacial.

En estas aplicaciones la fuente de datos son las imágenes que se obtienen de diferentes dispositivos y, dependiendo en dónde se apliquen, se les extraen las características que interesan.

Haga clic aquí para conocer en detalle la secuencia del procesamiento de imágenes.

Secuencia para el procesamiento de imágenes

Desafíos del procesamiento de imágenes

Las imágenes se digitalizan y se procesan, en este camino, hay varios desafíos que se deben tener presente para realizar aplicaciones funcionales y de interés para la industria, la investigación y la academia.

Pueden existir muchos más desafíos, pero, para iniciar, se prestará especial atención en los siguientes:

  • Comprender los diferentes modelos o espacios de color y formatos de las imágenes.
  • Procesar grandes volúmenes de información que generan las imágenes.
  • Los ingenieros informáticos deben identificar las fallas que presentan los algoritmos de procesamiento y análisis.
  • La finalidad es realizar interfaces que puedan ser utilizados por personal poco calificado en computación pero hábil en su tarea, por lo que se necesitan interfaces de usuario final amigables. Por ejemplo, para un revisor de la calidad, en la fabricación de circuitos electrónicos, le interesa que las tarjetas producidas cumplan con los parámetros, no se preocupa si el análisis del software que presenta los resultados en una pantalla está hecho en uno u otro software, le preocupan temas de su trabajo.
  • La información obtenida de las imágenes debe ser confiable, independientemente del dispositivo del cual se capturan y para ambientes industriales la rapidez de los algoritmos es esencial.
  • La formación del ingeniero informático le permite utilizar herramientas de programación variadas y las que más se acoplen a sus destrezas, en este curso, se emplearán herramientas como Matlab y Simulink. Se pueden utilizar muchas otras, pero estas son las que nos ayudarán a desarrollar los saberes de la asignatura.

Herramientas y software necesario para el desarrollo de la asignatura

Actualmente los teléfonos móviles o celulares son una herramienta ideal para el desarrollo del curso, ¿quién no tienen un celular que tome fotografías y videos con una relativa calidad?

Las herramientas de trabajo a utilizar son:


  • Celular inteligente – Smartphone.
  • Cámara de video digital (no es recomendable utilizar cámaras de video análogas).
  • Computador con acceso a internet con sistema operativo Windows 10 (en este curso no utilizaremos Linux, Mac, IOS y Android).
  • Cable USB para conectar el celular o la cámara al computador.

Como se mencionó anteriormente, existen varios programas de desarrollo que tienen librerías para el procesamiento de imágenes, en esta asignatura se utilizará Matlab y Simulink. Para empezar, se debe ingresar a la página de Mathwork y descargar la versión demo de Matlab y el Toolbox de procesamiento de imágenes, esta es gratuita, pero tiene un límite de tiempo.

Para ordenar el trabajo que se realizará con los diferentes algoritmos se sugiere crear en el disco duro una carpeta en donde se archivarán las imágenes y programas que se realizarán durante el curso y se irá ampliando con subcarpetas que contengan diferentes tópicos como: Imágenes, Ejemplos, Filtros, Guide, Edge, Histogramas, Mapas, Talleres,Thresholding.

Herramientas y software necesario para el desarrollo de la asignatura

Instalación de Matlab y Simulink

Los programas Matlab y Simulink necesitan licencias de uso, para este curso, se puede utilizar el programa de demostración por 30 días o preguntar a su docente por la licencia académica para acceder al programa.

Para obtener la versión de prueba se debe:

  1. Ingresar a la página del fabricante Matworks.
  2. Descargar dos toolbox, aunque el programa demo los trae, hay que asegurarse de que estén instalados en el computador:
    • Image Processing Toolbox.
    • Computer Vision System Toolbox.
  3. Seguir los pasos que se indican para la instalación y estar pendiente de su vencimiento mientras se activa la licencia académica de la Universidad.

Herramientas y software necesario para el desarrollo de la asignatura

Comandos y funciones para procesamiento de imágenes en Matlab

Matlab les ha brindado a los desarrolladores información relevante y suficiente para que lo principal sea el producto y no el medio para conseguirlo. Hay que inquietarse más por lo que se desea hacer y no por los comandos, estos serán la ayuda para entender un poco esta idea.

Por ejemplo, cuando sumamos 2 + 2 el resultado es 4, en esta simple operación no nos inquietamos o preocupamos por el símbolo “2” o el símbolo “+”, pues ya sabemos qué significan, de la misma forma, los comandos y funciones que se utilizan en este curso nos permitirán realizar operaciones complejas,que ayudarán a resolver los retos que se presenten para comprender y aplicar el procesamiento de imágenes.

Por ahora, la intensión es saber que existen los comandos y, en el transcurso de la asignatura, se irán aplicando dependiendo del contexto que nos interesa.

Actividad de aprendizaje

Actividad de Aprendizaje

Haga clic aquí para acceder a una actividad que le permitirá relacionarse con el lenguaje de programación.

Captura de imágenes

La captura de imágenes tiene dos significados:

  1. Obtener fotografías desde un dispositivo o un aparato electrónico que puede ser cámara, celular, osciloscopio, sensor de video, microscopios o escáner, los cuales utilizan elementos mecánicos y electrónicos que guardan en la memoria de cada equipo los archivos en formatos digitales, estos se encargan de realizar todo el proceso de digitalización de la imagen.
  2. Capturar imágenes por medio de comandos de aplicaciones de software, por ejemplo, podemos capturar la imagen que está actualmente en la pantalla del computador, para esto debemos presionar algunas teclas del teclado como “imp pnt” y guardar la información en un archivo, pero antes debemos abrir un programa que sea compatible con la información que se va guardar.

Por ahora, se tratará la captura de imágenes utilizando aparatos, para la captura por medio de software nos ocuparemos más adelante con la utilización del software Matlab.

Es importante conocer los dispositivos para capturar imágenes, puesto que las aplicaciones en donde se utilizan son variadas y no todos son útiles para cualquier aplicación, por ejemplo, si se desea tomar imágenes para el control de calidad de alimentos y bebidas, el dispositivo debe ser robusto para salvaguardar los productos, empaques y la trazabilidad de los mismos, otro ejemplo serían las cámaras de los satélites que fotografían la vegetación de la Tierra, sus características son más sofisticadas, puesto que están expuestas a un medio hostil en donde la radiación ultravioleta es alta. Para fotografías de rostros o las que tomamos con los celulares sus características no son exigentes, la cantidad de pixeles que utiliza son relativamente bajos pero la interface que tiene con el usuario es fácil de operar.

Captura de imágenes

Dispositivos de captura

Los dispositivos de captura de imágenes son variados y se utilizan en diferentes aplicaciones dependiendo de sus características técnicas, estos son:

  1. Cámaras de video.
  2. Celulares.
  3. Sensores ópticos.
  4. Escáneres.
  5. Osciloscopios.
  6. Microscopio óptico.

Material
de apoyo

Captura de imágenes

Principios fundamentales de la luz

Los conceptos de la física que explican los fenómenos de la luz se tratarán de forma resumida, pues la intención es recordar el porqué de algunas terminologías y operaciones que se realizan cuando se están procesando las imágenes.

Los sistemas de transmisión de las señales de televisión convierten una imagen real de tres dimensiones en una señal eléctrica de una dimensión. Esta señal, una vez trasmitida por el medio de transmisión y recibida por el equipo receptor, se convierte en una imagen en la pantalla del receptor sea un TV, LCD, computadores, cámara de video o cualquier otro dispositivo que tenga la capacidad de reproducir las imágenes.

Debido a que la información necesaria para la generación de imágenes de gran calidad es demasiado elevada, los sistemas de transmisión aprovechan las limitaciones del ojo humano y las características de la luz para reducir la información que realmente se trasmite. Así, si una imagen reproducida en una pantalla no corresponde de forma fidedigna con la realidad (resultando una imagen de calidad relativamente baja), el ojo humano no es capaz de notar de forma considerable esta disminución de calidad.

Dentro de los principios fundamentales de la luz, es importante definir:

Digitalización de imágenes

Para comprender la digitalización de imágenes, es adecuado, primero, tratar la digitalización de señales, porque la radiación de los colores son ondas electromagnéticas, son señales analógicas que deben ser digitalizadas para poderlas manipular en sistemas digitales.

El hardware y software involucrado en este proceso es trasparente para los desarrolladores de aplicaciones (App) de procesamiento de imágenes. Los dispositivos de captura de señales han evolucionado desde adquirir la información en medios análogos como son las cintas magnéticas, los discos de acetato a forma digital. Lo anterior significa que las señales se transforman en cadenas de “1s” y “0s” para poderlas manipular en microcontroladores o procesadores.

La transformación que escuchará en este ejemplo se conoce como conversión analógico - digital (A/D), que implica tres etapas: muestreo, cuantificación y codificación de señales.

Para conocer cada una de estas etapas haga clic sobre los enlaces, revise el ejemplo y luego realice las actividades programadas para cada una:

Actividad de aprendizaje

Actividad de Aprendizaje

Le invitamos a realizar las siguientes actividades de muestreo de señales y de digitalización de señales.

Material
de apoyo

Digitalización de imágenes

Muestreo de imágenes

El muestreo de imágenes es en formato digital, las señales análogas de la luz se han procesado por los dispositivos de captura, el desarrollador de las aplicaciones se enfoca en la manipulación de datos digitales, selecciona parte de la información que se ha obtenido por los procesos anteriores subdividiéndola en polígonos regulares o mallados como cuadrados, triángulos y hexágonos.

Cada mallado depende de la forma como el dispositivo de captura tomó la imagen según la distribución de los sensores ópticos que posea el CCD.

En el siguiente ejemplo se genera un algoritmo para comparar los diferentes efectos que tiene el muestreo de las imágenes en el desarrollo de las aplicaciones y los errores que se presentan en el lenguaje de programación, al definir tamaños de imágenes con muestreo inadecuados.

Haga clic en cada enlace para conocer el algoritmo y un ejemplo de aplicación:

Actividad de aprendizaje

Actividad de Aprendizaje

Le invitamos a realizar la siguiente actividad de muestreo de imágenes.

Digitalización de imágenes

Cuantificación de imágenes

Las imágenes en tonos de grises se archivan con un número en cada pixel, este número representa la cuantificación de la imagen. Esto se nota al ejecutar el código del algoritmo de muestreo de imágenes mencionado en el tema anterior. La representación matemática de la imagen digital de MxN pixeles en escala de grises es una función, donde M y N son el tamaño del mallado y L es el valor de la discretización del color o la cuantificación de la escala de grises.

F: [0,M-1] x [0,N-1] ≥ [0,L-1]

Los niveles de grises dependen de la cantidad de bits que se utilicen para cuantificar la imagen, normalmente se utilizan 8 bits que daría la escala de grises de 0 a 256, en total 256 tono de grises.

Ejemplo

En la siguiente imagen el muestreo se realiza usando un mallado de 10 por 10 cuadros, para la cuantificación se utilizan 8 bits, esto quiere decir, que se tienen 256 valores de color gris en donde 0 es el color negro y 255 el color blanco. Los valores intermedios son la escala de gris.

Dependiendo del muestreo que se le aplique a la imagen se pueden obtener diferentes imágenes digitales, para un mallado de 640x640 la imagen tiene más detalles que para uno de 10x10.

Representación de imágenes digitales

El significado de las palabras y la utilización de los conceptos en el procesamiento de imágenes son variados, para este curso son muy importantes los siguientes.

Imagen

Es una representación del mundo físico que tiene información de la luminancia y crominancia de los colores que la componen, la cual es adquirida por medio de la digitalización que emplean medios electrónicos.

Imagen digital

Es un archivo resultante de la digitalización de una imagen real en elementos de imagen llamados pixeles, que posee la información binaria de los tres colores primarios R, G y B.

Pixel

Término del inglés picture x element (elemento de la imagen). El pixel es el elemento más pequeño y diminuto de una imagen digital.

Resolución

Dependiendo del problema al cual se enfrente este parámetro puede ser adaptado, si necesita detectar la cantidad de objetos redondos en una imagen no interesa mucho la resolución, en cambio, si pretenden identificar las características del iris del ojo la resolución si es importante. La resolución de las imágenes depende de:

  • Resolución de intensidad: niveles de grises:

    L ={{2}^{k}},K=~n\acute{u}mero~de~bits{{.}^{{}}}

  • Resolución espacial: el mallado o los cuadros en los que se divide la imagen:

    M={{2}^{m}} y N={{2}^{n}}

Profundidad de colores en bits

Se refiere al número de bits necesarios para representar cada píxel en una imagen. Cuanto mayor sea la profundidad en bits, más colores habrá en la imagen global. Se utiliza 1-bit para imágenes en blanco/negro (sin grises), 2-bits = 4 colores.

En las siguientes ilustraciones se pueden ver dos ejemplos de la cantidad de colores que se pueden representar con diferente profundidad en bits.

Representación de imágenes digitales

Mapas de bits o matricial

Las desventajas de las imágenes en formato de mapa de bits es que hace difícil cambiarlas de tamaño, si se amplían se ven los pixeles, al reducirlas con muestreo limitado se hacen borrosas y pierden datos. En resumen, una imagen matricial está compuesta por cuadros individuales que al juntarlos componen la imagen, en los temas anteriores observamos esta característica. Y las ventajas es que pueden tener buena resolución y mostrar más detalles de las imágenes reales como las fotografías.

La imagen se pixela cuando se trata de ampliarla porque no hay información válida que ocupe los lugares en donde los pixeles se han desplazado.

A continuación, podrá conocer el algoritmo para:

Actividad de aprendizaje

Actividad de Aprendizaje

Le invitamos a realizar la siguientes actividades de matrices de imágenes y de matriz de imágenes en tono de grises II.

Representación de imágenes digitales

Formato vectorial

Las imágenes en formato vectorial están compuestas por entidades geométricas simples como líneas, curvas, patrones de color, planos de degradación, básicamente por segmentos y polígonos. La desventaja que tienen las imágenes representadas por vectores es que no se pueden utilizar para representar fotografías o imágenes reales, porque es difícil mediante fórmulas matemáticas definir todos los detalles utilizando vectores.

Al estar compuestos por entidades geométricas simples, las imágenes vectoriales se pueden cambiar de escala para ampliarlas o reducirlas sin que la imagen pierda calidad, se utilizan para rotulación, dibujos, logos de empresas e imágenes que contenga poca información. Los vectores son objetos definidos por puntos que se pueden modificar para dar forma a la imagen utilizando fórmulas matemáticas.

Estos formatos no dependen de los pixeles, no tienen resolución, esto quiere decir que mantienen la definición y la nitidez, en consecuencia, mantienen la calidad. En el siguiente audio podrá conocer las características del formato vectorial de las imágenes.

Los vectores matemáticos permiten unir puntos con la información que recolectan, por ejemplo, un círculo como el de la figura principal se puede definir con un punto P(x,y) en unas coordenadas y el radio, un rectángulo con dos puntos, una curva con más de tres puntos y lo que define cómo se unen estos puntos son las ecuaciones matemáticas como la del círculo 𝑥2 + 𝑦2 = 𝑟2.

Así, las imágenes se construyen utilizando las curvas de Bézier (CB). El archivo utilizado para grabar estas imágenes es Scalable Vector Graphics (SVG), formato basado en XML. En la ampliación temática podrá ampliar la información sobre las curvas de Bézier y la construcción de imágenes vectoriales.

Actividad de aprendizaje

Actividad de Aprendizaje

Le invitamos a realizar la siguiente Actividad de imágenes vectoriales.

Representación de imágenes digitales

Operaciones con pixeles

Se refiere a operaciones en donde se toma como referente al valor del pixel de la imagen, al realizar las operaciones el valor del pixel original p= I(x,y) se transforma en otro como p’=I’(x,y), el valor del nuevo pixel se calcula aplicando una función f [I(x,y)] la cual cambia a I’(x,y).

Las operaciones típicas con pixeles son llamadas función homogénea, donde el nuevo valor del pixel no depende de su ubicación en la imagen y se utilizan las siguientes:

  • Cambio de la luminancia y contraste de la imagen.
  • Aplicar curvas de iluminación.
  • Complemento o inversión de una imagen.
  • Segmentar las imágenes.
  • Cambiar el color de una imagen.

Para ampliar la información sobre las operaciones con pixeles haga clic en este enlace.

En una imagen en blanco y negro se atribuye más luminancia a las partes blancas, el blanco refleja todos los colores. Según la ley de Crassmann el valor uno “1” representa el valor máximo de luminancia y el cero “0” el nivel mínimo de luminancia o ausencia de Luz. Los pixeles se relacionan con el anterior concepto junto con la intensidad. Por ejemplo, ¿el color negro de los caracteres de las palabras que está leyendo es el mismo color que aparecería en una hoja de papel si se imprime el texto? Para responder esta pregunta recurrimos a un concepto que es la corrección gama que permite predecir la apariencia de las letras, para el ejemplo, en diferentes medios como el monitor y en la impresora.

Es importante para poder realizar las diferentes prácticas que se planteen en esta asignatura, tener un computador con cámara o con un puerto USB disponible para conectar una cámara y verificar que esté funcionando de la forma correcta. Revise en los esquemas interactivos este proceso.

Actividad de aprendizaje

Actividad de Aprendizaje

Le invitamos a realizar las siguientes actividades donde podrá familiarizarse con el uso de diferentes herramientas.

Modelos o espacios de color y formatos de imágenes

Un modelo de color es la representación matemática de los colores, utilizando coordenadas tridimensionales y en estas ubicar un subespacio en donde cada color es representado por un punto. Se hace esto para poder manipularlos, analizarlos y procesarlos de forma ordenada y previsible para que se puedan desplegar en las pantallas de los dispositivos de visualización.

El modelo ayuda a identificar los cambios de las características de la luz como la luminancia, crominancia, el matiz, la tonalidad, la saturación y las demás características. Hay aplicaciones en donde no es importante determinar la crominancia como, por ejemplo, el análisis de imágenes de productos como tornillos o piezas mecanizadas de una misma forma, no siempre se necesita toda la información que entregan las imágenes por cuestiones de espacio en las memorias de los dispositivos o por el ancho de banda de las redes de celulares e internet.

Es apropiado conocer los diferentes modelos con los que se cuentan para modelar el color que llega a los ojos del ser humano y es enviado a los sensores ópticos para que se puedan representar en las pantallas o impresoras, el modelo más empleado es el RGB que surge junto con la televisión a color, pero, este no es el único, hay más.

Lo mismo pasa con los archivos que se usan para guardar las imágenes en los computadores, tableta y celulares, se ha acostumbrado guardarlos, trasmitirlos y modificarlos de una misma forma, los formatos de imágenes más populares como el BMP que utiliza Windows para sus procesos no genera problemas para las actividades rutinarias, pero, cuando se sale de este ambiente, aparecen las dificultades que se pueden solucionar con otros formatos de imágenes. Por ejemplo, si no existiera el formato GIF posiblemente no se podría enviar los famosos emoticones con movimiento de las redes sociales. BMP no sirve para esa tarea hay otros formatos que lo hacen mejor.

Revise el video donde se ilustra la utilización de los diferentes modos de color en diseño gráfico.

Modelos o espacios de color y formatos de imágenes

Modelos o espacios de color

Utilizando modelos matemáticos se representan en forma numérica las imágenes a color en dispositivos como televisión, cámaras fotográficas/video, impresoras, escáner y sensores ópticos. Estos modelos utilizan los principios fundamentales de la luz utilizando tres o cuatro valores cromáticos. Aquí, se mencionarán los más utilizados en las aplicaciones desarrolladas para computadoras, como:

Le invitamos a revisar dentro de Material de apoyo, algunos documentos referenciados que sirven como guía para el desarrollo de las actividades, utilizando la interface gráfica GUI.

Actividad de aprendizaje

Actividad de Aprendizaje

Realice las siguientes actividades donde podrá aplicar los diferentes modelos que utilizan los principios fundamentales de la luz.

Material
de apoyo

Modelos o espacios de color y formatos de imágenes

Formatos de imágenes

Los formatos de imágenes se van a identificar con la extensión de los archivos con el cual se guardan en los computadores, estos tienen sus características y protocolos que los hacen diferentes, pero, a la vez, compatibles entre ellos, los más utilizados en la actualidad son: TIFF, GIF, PNG, JPG, JPEG, BMP, SVG y PDF.

Conozca algunos formatos de imágenes.

En el desarrollador de aplicaciones se debe escoger adecuadamente el formato de imagen que se va a utilizar en el programa, para que este sea eficiente y acorde con las necesidades. Las características de los formatos de imagen más representativas son las que se indican a continuación:

Tipo Soporte Internet Animación Capas Compresión Transparencia
TIFF No No Si Si No
GIF Si Si No Si Si
PNG Si No No Si Si
JPEG-JPG Si No No Si No
BMP No No No No No
SVG Si Si No Si No

Resumen

En esta unidad se presentaron los conceptos de la luz en donde se definen sus principales características, las cuales serán utilizadas en el transcurso de la asignatura como fundamento para escoger cuáles se aplican al desarrollar los algoritmos de procesamiento de imágenes. También, se exploraron los conceptos de digitalización, representación, formatos y archivos de imágenes que se van a utilizar. Se enmarcan los conceptos que se van a utilizar en el desarrollo de la asignatura permitiendo enfocarse más en la solución de problemas de aplicaciones que resuelven situaciones complejas del tratamiento de imágenes.

Con la información obtenida en esta unidad, se da el primer paso para construir la dinámica de la disciplina, por ejemplo, cuando usted aprende a dividir números ya tiene los conceptos claros sobre el significado de los símbolos numéricos, en este caso, se desea que pueda acondicionar los datos obtenidos de los dispositivos de captura para pre-procesarlos y conseguir resultados válidos en el procesamiento de imágenes. Las actividades que se propusieron en la unidad le ayudaran a apropiarse del conocimiento y replicar la apropiación del mismo.

Le invitamos a continuar con las siguientes unidades, donde la complejidad de los temas a tratar se irá incrementando, pero con su interés y dedicación las podrá asimilar fácilmente.

Bibliografía ()

  • Barragán Guerrero, D. (2008). Manual de interfaz gráfica de usuario en Matlab parte 1.
  • Corcuera, P. (2018). Creación de interfaces de usuario con MATLAB. Universidad de Cantabria.
  • Cuevas, E. (2010). Procesamiento digital de imágenes usando Matlab y Simulink. México: Alfaomega.
  • Fernández de Córdoba, G. (2007). Creación de interfaces gráficas de usuario (GUI) con Matlab
  • González, R. & Woods, R. E. (2002). Digital Imagen Porcessing. Prentice Hall. 
  • Hidrobro, J. M. (2011). Telecomunicaciones tecnologías, redes y servicios. Primera edición, Ra-Ma.
  • Millán Esteller, J. (2010). Equipos Electrónicos de Consumo, Equipos de Imagen. Madrid España: Paraninfo, segunda edición, capítulo 7.
  • Morris Mano, M. (1986). Lógica digital y diseño de computadores. Primera edición, Phh Prentice Hall, capítulo 2.

Referencias Web