R(x,y):= f(A(x-k,y-k), …, A(x,y), …, A(x+k,y+k))
En las convoluciones, f es una combinación lineal cualquiera. Pero… También puede ser interesante usar otras funciones no lineales.
Ejemplo, media geométrica.
R(x,y):= A(x-1,y-1)·A(x,y-1)·A(x-1,y)·A(x,y) (Gp:) 4
Filtros no lineales. Ejemplo. Media geométrica de 5×5. Aunque existen muchas (en teoría infinitas) posibles transformaciones no lineales, en la práctica no todas son útiles e interesantes. Las que más se usan son: máximo, mínimo y mediana. … muy parecido a la media aritmética…
Filtros no lineales. Filtro de Máximo: R(x,y):= max {A(x-k,y-k), …, A(x,y), …, A(x+k,y+k)} donde k es el radio, el tamaño (o apertura) es 2k+1 Imagen de entrada Máximo, tamaño 3 Máx., tamaño 6 Máx., tamaño 12
Filtros no lineales. El resultado es un cierto efecto de difuminación y aclaramiento de la imagen. Desaparecen los detalles más oscuros. Si el tamaño es grande, pueden ocurrir dos efectos: Efecto de cuadriculado.Como el máximo se aplica enuna zona cuadrada, los píxelesmuy claros generan uncuadrado uniforme alrededor. Aparición de colores falsos.Al aplicarlo en los tres canales(R,G,B) independientemente,el máximo en los 3 puede nocorresponder a un colorpresente en la imagen original.
Filtros no lineales. Filtro de Mínimo: R(x,y):= min {A(x-k,y-k), …, A(x,y), …, A(x+k,y+k)} donde k es el radio, el tamaño (o apertura) es 2k+1 Imagen de entrada Mínimo, tamaño 3 Mín., tamaño 6 Mín., tamaño 12
Filtros no lineales. El efecto es parecido al máximo, pero tomando los valores menores (los más oscuros). Máximo Mínimo Ideas: Para evitar el efecto de cuadriculado se podría aplicar el máximo/mínimo a una zona circular. Para evitar la aparición de colores falsos se podría tomar el máximo de las sumas de R+G+B.
Filtros no lineales. Más filtros no lineales: recordar la ecualización local del histograma. Considerar una operación global como el estiramiento, la ecualización del histograma o la umbralización. Globalmente se calculan los parámetros y se aplican a toda la imagen: estiramiento (máximo y mínimo del histograma), ecualización (función de ecualización) y umbralización (umbral a aplicar). En lugar de aplicarlos globalmente, calcular los parámetros para cada punto, usando una vecindad local. Aplicar la transformación a cada punto, usando sus parámetros específicos.
Filtros no lineales. Algoritmo. Ecualización local de tamaño axb: Para cada punto (x,y) de la imagen A, calcular el histograma de una región rectangular desde(x-a, y-b) hasta (x+a, y+b) ? H(v) Calcular el percentil del valor A(x,y), es decir:p:= (H(0)+H(1)+…H(A(x,y)))/((2a+1)(2b+1)) Hacer R(x,y):= 255·p 62% 0,62*255 = 158
Filtros no lineales. Ejemplo. Ecualización local del histograma. Imagen de entrada Resolución: 299×202 Tamaño: 25×25 Tamaño: 50×50 Tamaño: 120×120 La misma idea se podría aplicar a umbralización y estiramiento.
Morfología matemática. Los operadores de morfología matemática son un conjunto de filtros locales sencillos, que se pueden combinar para obtener resultados más complejos. Originalmente, están definidos sobre imágenes binarias. La idea es muy parecida a una convolución, pero utilizando las operaciones booleanas AND y OR. Ejemplo. R(x,y):= A(x-1,y-1) AND A(x,y) AND A(x+1,y+1) Elemento estructurante (= máscara de convolución) (x-1,y-1) (x+1,y+1) (x,y) ? Punto de ancla
Página siguiente |