530 likes | 839 Views
Filtros. Mejoramiento de la imagen. Previo a obtener características: resaltar aspectos deseados, eliminar ruido, mejorar contraste, etc. Técnicas de pre-procesamiento: operaciones puntuales, ecualización por histograma, filtrado. Filtrado.
E N D
Mejoramiento de la imagen • Previo a obtener características: • resaltar aspectos deseados, • eliminar ruido, mejorar contraste, etc. • Técnicas de pre-procesamiento: • operaciones puntuales, • ecualización por histograma, • filtrado.
Filtrado • Filtrar una imagen consiste en aplicar una transformación de forma que se acentúen o disminuyan ciertos aspectos g(x,y) = T[f(x,y)]
Tipos de Filtros • Dominio espacial - convolución g(x,y) = h(x,y) * f(x,y) • Dominio de la frecuencia – multiplicación en el espacio transformado de Fourier G(u,v) = H(u,v) F(u,v)
Filtrado en el Dominio Espacial • Operan directamente sobre los pixeles de la imagen • Se utiliza generalmente una “máscara” que opera sobre una vecindad de pixels, centrándose sobre el pixel de interés • Se realiza una convolución (barrido) de la máscara con la imagen
Filtrado en el Dominio Espacial • Cada pixel de la nueva imagen se obtiene mediante la sumatoria de la multiplicación de la máscara por la vecindad del pixel: g(x,y) = f(x-i,y-j) w(i,j) • Generalmente se divide sobre cierto valor constante para normalizar
Convolución 1 1 1 máscara 1 1 1 Imagen nueva 1 1 1 0 1 0 1 Imagen original 0 1 0 1 0 0 0 1
Convolución - paso 1 1 1 1 máscara 1 1 1 Imagen nueva 1 1 1 0 1 0 1 Imagen original 0 1 0 1 2 0 0 0 1
Convolución - paso 2 1 1 1 máscara 1 1 1 Imagen nueva 1 1 1 0 1 0 1 Imagen original 0 1 0 1 2 5 0 0 0 1
Normalización En este caso se divide por 9. (suma de las valores de la máscara) 1 1 1 máscara 1 1 1 1 1 1 Imagen nueva normalizada Imagen nueva 0 1 2 5
Efecto de “bordes” Dos opciones básicas: - asumir que son cero - repetir pixeles del borde 1 1 1 máscara 1 1 1 1 1 1 0 0 1 0 0 1 0 1 3 0 0 1 0 1 0 0 0 1 Imagen original
Filtros básicos • Filtros puntuales (sección anterior) • Filtros de suavizamiento • Filtros de acentuamiento • Filtros de énfasis de altas frecuencias • Cada clase de filtro difiere en los valores utilizados en la máscara
Filtros de suavizamiento • Eliminan ruido o detalles pequeños que no sean de interés • Filtro pasa-bajos (en frecuencia)
Filtros de suavizamiento • Promedio - promedio de pixeles vecinos (máscara con unos) • Mediana - substituye por mediana de la vecindad (generalmente mejor al promedio) • Gaussiano - aprox. distribución gaussiana
Filtros de acentuamiento • Intensifica los detalles y cambios, mientras que atenúa las partes uniformes • Filtro pasa-altos (en frecuencia)
Filtros de acentuamiento • Ejemplo de filtro pasa-alto • Suma de los pesos es cero (se “eliminan” regiones de intensidad uniforme)
Énfasis de altas frecuencias • Los filtros de acentuamiento tienden a eliminar las zonas de baja frecuencia • Los filtros de énfasis de alta frecuencia también acentúan los detalles pero preservan las zonas uniformes • Una forma de implementarlos es multiplicando la imagen original por una constante, A > 1, combinado con un filtro pasa alto
Énfasis de altas frecuencias • Otra forma de implementar un filtro PA es “restando” a la imagen original una filtrada con un PB: PA = I - PB • Entonces un filtro de EA se puede obtener como: EA = (A) I - PB • Equivalente a: EA = (A-1) I + PA
Énfasis de altas frecuencias • Máscara para un filtro de énfasis de altas frecuencias (high boost) w = 9 A - 1, A > 1
Ejemplos de aplicar filtros pasa-altos Original Pasa Altos Énfasis
Filtros en frecuencia • Se realiza una transformación de la imagen al dominio de la frecuencia mediante la transformada de Fourier • Esto permite que el filtrado sea más sencillo (multiplicación) y pueda ser más preciso en frecuencia
Transformadas • Transformado de Fourier F(u) = f(x)e[-j2ux]dx • Transformada inversa f(x) = F(u)e[j2ux]du
f(t) Ejemplos F(w)
Transformadas de 2 variables • Para el caso de una imagen se requiere aplicar la transformación en 2-D • Transformado de Fourier F(u) = f(x,y)e[-j2ux+vy)]dxdy • Transformada inversa f(x) = F(u,v)e[j2ux+vy)]dudv
Transformadas discreta • Para el caso de una imagen digital se aplica la transformada discreta de Fourier (DFT) • Transformado de Fourier F(u) = (1/MN) f(x,y)e[-j2ux/M+vy/N)] • Transformada inversa f(x) = F(u,v)e[j2ux/M+vy/N)] • Existe una forma eficiente de implementar la DFT llamada transformada rápida de Fourier (FFT)
Propiedades • Separabilidad • Traslación • Rotación • Periodicidad y simetría • Convolución
Filtrado • Se aplica la Transformada de Fourier • Se aplica el filtro • Se aplica la transformada inversa
Tipos de Filtros • Pasa bajos • Pasa banda • Pasa altos • Filtros ideales • Filtros butterworth
Filtrado Adaptable • Los filtros de suavizamiento tienden a eliminar propiedades importantes (p. ej. orillas) de la imagen • Filtros adaptables: • Remover ruido y al mismo tiempo preservar las orillas • Suavizar sólo en ciertas regiones de la imagen • Donde suavizar depende del gradiente local de la imagen
Filtrado Adaptable Suavizar (bajo gradiente) Mantener orillas (alto gradiente)
Filtros adaptables • Filtro de mediana • Difusión anisotrópica • Campos aleatorios de Markov • Filtrado gaussiano no-lineal • Filtrado gaussiano adaptable
Filtrado gaussiano adaptable • Aplicar varios filtros gaussianos de forma que la desviación estándar dependa del gradiente local • Para estimar el gradiente se utiliza el concepto de espacio de escalas • Se obtiene la escala de cada región (máscara) de la imagen y en base a esta se define la del filtro para esa región
Escala • Se refiere al nivel de detalle de la imagen • Escala “grande” – mucho detalle • Escala “pequeña” – poco detalle • Si se filtra una imagen con gaussianas de diferente , al ir aumentando la se va disminuyendo la escala • Existe una escala “óptima” para cada región de la imagen
Escala Alta escala (alto gradiente) Baja escala (bajo gradiente)
Escala óptima • Una forma de obtener la mejor escala es aplicar varios filtros gaussianos a diferente , y quedarse con el mejor de acuerdo al principio de MDL • MDL – minimizar el # de bits de la imagen filtrada y el error respecto a la original I(x,y) = I(x,y) + (x,y) • Se puede demostar [Gómez 00] que la longitud de descripción se puede estimar como dI(x,y) = ( / 2 ) + 2 • Entonces se calcula dIpara cada región y se selecciona la que de el menor valor
Algoritmo • Seleccionar la escala local • Filtrar cada punto (región) con un filtro gaussiano con la óptima, correspondiente a la escala local • Obtener la imagen filtrada
References • [González] Capítulo 3 (3.4, 3.5), 4 • [Sucar] Capítulo 2 • G. Gómez, J.L. Marroquín, L.E. Sucar, “Probabilistic estimation of local scale”, IEEE-ICPR, 2000.
Actividad 3 • Implementar en el laboratorio filtrado en el dominio espacial: • hacer un programa para aplicar una máscara cuadrada general. • el programa tiene dos argumentos: la imagen y la máscara (matriz) • normalizar la imagen filtrada y desplegarla (al igual que la imagen de entrada) • probar con diferentes tipos y tamaños de filtros • Enviar programa y entregar impresión • Leer y hacer los problemas faltantes del Capítulo 2 del texto
Normalización • Para efectos de visualización es necesario “normalizar” (regresar al rango de valores) la imagen filtrada • La forma más sencilla es multiplicando por una constante (suma de valores absolutos de la máscara), pero esto no es siempre lo más adecuado • Otra forma mejor es mediante una transformación lineal, haciendo el valor mínimo=0 y el máximo=255