domingo, 13 de julio de 2008

PROCESAMIENTO DIGITAL DE IMÁGENES

CONCEPTO:
El Procesamiento Digital de Imágenes trata sobre la manipulación y análisis de imágenes por computadora. El procesamiento de imágenes digitales, en términos generales, envuelve al reconocimiento de imágenes 2D, 3D y secuencias de imágenes, análisis y manipulación.
Los procesos que se desarrollan para el procesamiento digital de imágenes son como la que se muestra en el diagrama de bloques:

El Procesamiento de imagen puede considerarse como un tipo especial del procesamiento digital en dos dimensiones, el cual se usa para revelar información sobre imágenes y que involucra hardware, software y soporte teórico.
Una imagen digital es una imagen f(x; y) que ha sido discretizada en coordenadas espaciales y en brillo. Una imagen digital puede considerarse como una matriz cuyos índices del renglón y columna identifican un punto en la imagen y el correspondiente valor del elemento de la matriz que identifica el nivel de intensidad de luz en ese punto. Los elementos de tal arreglo digital son llamados elementos de imagen, elementos de pintura o pixels.

El número de niveles de cuantización está determinado por la relación.

Donde: B es el número de bits.

PROCESOS:
Adquisición de imágenes:
Tres elementos son necesarios para adquirir imágenes digitales de video. El primero es un dispositivo físico que sea sensible a la banda visible del espectro electromagnético y que produzca una señal eléctrica proporcional al nivel de energía percibido. El segundo elemento es un cable por donde la señal eléctrica sea transmitida, y el tercero es un digitalizador, encargado de convertir la señal eléctrica del dispositivo físico a una forma digital. Para que una imagen analógica, en blanco y negro, en escala de grises o a color, pueda ser "manipulada" usando un ordenador, primero debe convertirse a un formato adecuado. Este formato es la imagen digital correspondiente.
La transformación de una imagen analógica a otra discreta se llama digitalización y es el primer paso en cualquier aplicación de procesamiento de imágenes digitales.


Pre-procesamiento:
Después de que la imagen digital ha sido obtenida, el siguiente paso es el pre-procesamiento. La función es mejorar la imagen para el éxito de los siguientes procesos. El pre-procesamiento típicamente trata con técnicas para realizar el contraste y remover ruido.
Es muy útil porque ayuda a suprimir porque ayuda a suprimir información que no es relevante para los objetivos particulares de análisis en un caso dado. Por lo tanto, el objetivo del pre-procesamiento es una mejora de los datos de la imagen que suprima las distorsiones indeseadas e incremente las características relevantes para su posterior procesamiento. Algunos métodos de pre-procesamiento son las transformaciones de intensidad y las transformaciones geométricas.
En una transformación de intensidad se modifica el valor del píxel sin importar su posición dentro de la imagen, algunas transformaciones de intensidad incluyen modificar el brillo, contraste, matiz, saturación, gamma, etc.

Las transformaciones geométricas son comunes en gráficas por computadora y también son utilizadas en análisis de imágenes. Permiten la eliminación de distorsiones geométricas que ocurren cuando una imagen es capturada, como por ejemplo las provocadas por los lentes de la cámara. Una transformación geométrica es una función T que coloca al píxel ( x , y ) en una nueva posición ( x ’, y’ ).

Segmentación:
La segmentación particiona una imagen de entrada en sus partes constituyentes u objetos. Generalmente, la segmentación automática es una de las tareas más difíciles en el procesamiento de imágenes. En términos del reconocimiento de caracteres, el rol de la segmentación es extraer caracteres individuales y palabras del fondo de la imagen.
Los algoritmos de segmentación se basan en una de las dos propiedades básicas de los valores del nivel de gris: discontinuidad o similitud.
Discontinuidad. Se divide la imagen basándose en cambios bruscos de nivel de gris:
Detección de puntos aislados: Una máscara para detectar un punto aislado es la siguiente:


Detección de líneas: Para la detección de líneas de un píxel de ancho, podemos utilizar una máscara 3×3 que se irá moviendo por los píxeles de la imagen. Los píxeles que forman parte de una línea horizontal, vertical o diagonal, tendrán respuestas extremas ante alguna de las máscaras siguientes:

Detección de bordes: Se centra en la detección de contornos; delimitan el borde de un objeto y segmentan los píxeles dentro del contorno como pertenecientes a ese objeto. Su desventaja consiste en conectar contornos separados o incompletos, lo que los hace susceptibles a fallas.


Similitud. Se divide la imagen basándose en la búsqueda de zonas que tengan valores similares, conforme a unos criterios prefijados:
Crecimiento de región: Es un procedimiento que agrupa los píxeles o subregiones de la imagen en regiones mayores basándose en un criterio prefijado.

Umbralización: Un método básico para diferenciar un objeto del fondo de la imagen es mediante una simple binarización.
A través del histograma obtenemos una gráfica donde se muestran el número de píxeles por cada nivel de gris que aparece en la imagen.
Para binarizar la imagen, se deberá elegir un valor adecuado (umbral) dentro de los niveles de grises, de tal forma que el histograma forme un valle en ese nivel. Todos los niveles de grises menores al umbral calculado se convertirán en negro y todos los mayores en blanco.

Representación y Descripción:
Es llamada también selección de características, trata con extracción de los rasgos que resulta en alguna información cuantitativa de interés o características que son básicas para diferenciar una clase de objetos con otra.
Algunos esquemas de representación son: códigos de cadena, aproximaciones poligonales y esqueleto de una región:
Los códigos de cadena son usados para representar una frontera mediante una secuencia de segmentos conectados de línea recta.



Aproximación poligonal es capturar la esencia de la figura con el mínimo posible de segmentos poligonales. Se basa en el principio de que un borde de píxeles consecutivos puede ser aproximado con cierto grado de precisión por un polígono.

Esqueleto de región es la representación de la forma estructural de la figura reducida a su gráfica. Una figura en dos dimensiones puede ser representada por sus ejes medios (esqueleto) y las distancias de los ejes a su borde.


Reconocimiento e interpretación:
El reconocimiento es el proceso que etiqueta, o asigna un nombre, a un objeto basándose en la información que proveen sus descriptores. La interpretación involucra la asignación de significado a un conjunto de objetos reconocido. El reconocimiento de patrones comprende técnicas para asignar cada patrón a su respectiva clase de manera automática sin intervención humana.
Existen tres principales tipos de patrones, los vectores (para descripciones cuantitativas), las secuencias y los árboles (para descripciones estructurales):
Los patrones de vector son representados por letras minúsculas en negrillas y toman la forma:

Las secuencias de descripción son útiles en objetos o entidades cuya estructura está basada en una conexión de primitivas simples generalmente asociadas a su forma. La secuencia se forma ordenando las primitivas de manera tal que describan al patrón.
Los árboles, se utilizan para representaciones con una estructura mas jerárquica. La raíz del árbol representa toda la escena, los niveles inferiores van clasificando la imagen en sus partes constituyentes hasta que se llega a un nivel en donde no se puede reconocer más.


Base de conocimientos:
Mantiene todo el conocimiento que se tiene acerca del problema tratado. Este conocimiento puede ser simple, teniendo solo las regiones de la imagen donde la información de interés se conoce que está localizada, con lo que se limita la búsqueda que conduce a esa información. La base de conocimientos también puede ser compleja, tal como una lista interrelacionada de todos los defectos mayores posibles en un problema de inspección de materiales o una base de datos de imágenes conteniendo imágenes de satélite en alta resolución de una región en conexión con aplicaciones de detección de cambios.


APLICACIONES:

El procesamiento digital de imágenes esta en constante desarrollo, y por ello posee múltiples aplicaciones, a continuación mencionaremos las más importantes:

v Inspección visual
v Industria.
v Medicina.
v Observaciones aéreas.
v Robótica (móvil, brazos manipuladores, etc).
v Agricultura.
v Seguridad.
v Geología.
v Comunicaciones Satelitales.
v Defensa.
v Espacios inteligentes.
v Investigación científica.
v Asistencia hombre-máquina (tele-operación, reconocimiento de caracteres, etc).



PROGRAMA EN MATLAB:
Eliminación de ruido:
La programación prueba26.m, tiene como finalidad la eliminación de ruido:


%-------------------------------------------------------
% prueba26.m
% Extraido del Tutorial:
% Procesamiento Digital de Imágenes a nivel de bloques
% Mg. Jorge Leonid Aching Samatelo
%--------------------------------------------------------
clc;close all;clear all;
ruta = strcat(cd,'\');
I = imread('tigre.jpg','jpg');
Inoise = imnoise(I,'gaussian',0,0.5);
% agrega ruido gausiano
%Inoise = imnoise(I,'poisson');
n = 7;
h = ones(n,n)/ n^2;
Ifilter = imfilter(I,h);
% realiza filtrado lineal
fg = figure(1); set(fg,'color','w');
subplot(121);imshow(I);
subplot(122);imshow(Inoise);
truesize;

fg = figure(2); set(fg,'color','w');
subplot(121);imshow(Inoise);
subplot(122);imshow(Ifilter);
truesize;
%-------------------------------------------------------

La figura que se muestra es:tigre.JPEG
A continuación tendremos las siguientes figuras que obtenemos de MATLAB:


BIBLIOGRAFIA:

Libros
· Rafael C. Gonzalez, Richard E. Woods, “Tratamiento digital de imágenes”.
· R.C. Gonzalez & R.E. Woods, ¨Digital Image Processing¨, 2da edición, Prentice Hall, 2002.
· Oppenheim, A. V., Schafer, R. W., Buck, J. R., Tratamiento de señales en tiempo discreto, Prentice Hall, 2000.
· Proakis, J.C., Manolakis, D.G., Tratamiento digital de señales, 4ta edición, Prentice Hall, 2007.

Web
http://www.uacj.mx/Publicaciones/GeneracionImagenes/imagenesCap8.pdf
http://delta.cs.cinvestav.mx/~fraga/Cursos/PDI/cap1.pdf
http://www.elai.upm.es/spain/Asignaturas/Robotica/ApuntesVA/cap3ProcesadoImagv1.pdf
http://www.agro.uba.ar/users/paruelo/SIG/Clase_proc_dig.pdf
http://omega.ilce.edu.mx:3000/sites/ciencia/volumen2/ciencia3/084/htm/sec_9.htm
http://www.iztapalapa.uam.mx/contactos/n64ne/Imag_biom.pdf
http://lc.fie.umich.mx/~jrincon/curdsp1.pdf
http://www.diinf.usach.cl/~dmery/imagenes/proc.htm
http://alojamientos.us.es/gtocoma/pid/programa1.html
http://www.depeca.uah.es/docencia/doctorado/cursos04_05/82854/index.htm#bloque1docs
http://www.javeriana.edu.co/biblos/tesis/ingenieria/tesis91.pdf
http://tejo.usal.es/inftec/2004/DPTOIA-IT-2004-002.pdf
http://catarina.udlap.mx/u_dl_a/tales/documentos/msp/zenteno_t_fa/capitulo2.pdf
http://robotica.itam.mx/espanol/archivos/TESISCOMPLETA.pdf