Filtros de Suavizado y Agudizamiento
Filtros de Suavizado y Agudizamiento
Filtros de Suavizado y Agudizamiento
CONTENIDO
Profesores MA475 1
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Un píxel p con coordenadas (x, y) tiene cuatro vecinos entre horizontales y verticales, cuyas
coordenadas son (x+1, y), (x-1, y), (x, y-1), (x, y+1). Nótese que para cada uno de estos píxeles
hay una distancia de 1 del píxel p. En los bordes de la imagen algunos de estos píxeles quedan
fuera.
También existen 4 vecinos diagonales de p con coordenadas (x+1, y+1), (x+1, y-1), (x-1, y-1),
(x-1, y+1)
Profesores MA475 2
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Una imagen procesada (filtrada) es generada a medida que el centro del filtro recorre cada
píxel en la imagen de entrada.
Profesores MA475 3
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Máscara
Imagen original
Profesores MA475 4
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Ya que el promedio de 9 números es igual a la suma de todos ellos entre 9; y es lo mismo que
sumar 1/9 de cada número.
Observaciones:
• Si el resultado de aplicar la máscara sobre un píxel da un número decimal, entonces se
debe redondear al entero más cercano.
• Si el resultado de aplicar la máscara sobre un píxel da un número que está fuera del
intervalo [0, L-1], entonces se puede calcular su complemento módulo L y se toma el
menor valor positivo resultante como el nuevo valor del píxel.
Ejemplo 1: si L = 8, y el resultado de aplicar la máscara da 14, entonces el valor final de la
intensidad del nuevo píxel será 6, ya que 14 mod 8 es 6.
Ejemplo 2: si L = 8, y el resultado de aplicar la máscara da -3, entonces el valor final de la
intensidad del nuevo píxel será 5, ya que -3 mod 8 es 5.
Profesores MA475 5
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
2. Filtro de agudizamiento: para el aumento de la nitidez de una imagen realzando los bordes.
Filtros de suavizado
Dos de los filtros de suavizado más usados son el filtro de la media y el filtro de la mediana.
1. Filtro de la Media
La idea detrás del filtro de la media es la reducción de irregularidades y de cambios bruscos
de niveles de intensidad (discontinuidades en la imagen). Como el ruido normalmente resulta
de cambios bruscos de los niveles de intensidad, entonces logra reducirlo.
Pero, esto también tiene un efecto negativo y es la pérdida de nitidez en la imagen ya que los
bordes también son “discontinuidades de la imagen” y, generalmente, los elimina.
Algunos filtros de media usan las siguientes máscaras:
Profesores MA475 6
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Por ejemplo, a la imagen original se le agregó ruido y se aplicó un filtro de media de 5x5 a
dicha imagen logrando la reducción total del ruido.
A continuación, se muestra una imagen de 500 x 500 píxeles y se muestran algunos resultados
de aplicar filtros de la media con máscaras de tamaño 3, 5, 9, 15 y 35
Desventajas:
• El filtro de la media es bastante sensible a cambios locales.
• El filtro de la media puede crear nuevas intensidades de grises que no aparecían en la
imagen.
Ejemplo de aplicación del filtro de media
Supongamos que se tiene una imagen de 5x5 donde se han usado 3 bits por píxel y su
representación matricial se muestra en la figura, al igual que la máscara del filtro de media.
Apliquemos el filtro de media.
Solución:
Analizando las intensidades de los píxeles, se puede notar que hay “discontinuidades” en
algunos cambios adyacentes. Estas discontinuidades se dan por el cambio brusco de
intensidades (un cambio brusco se da de 5 a 0 y un cambio continuo es de 2 a 3).
Debido al análisis de la imagen, veremos que, al aplicar el filtro de la media, deben
desaparecer estas discontinuidades.
Al aplicar la máscara dada sobre la matriz de la imagen, veremos que la matriz resultante es:
Profesores MA475 7
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Como se puede notar, no existen cambios entre píxeles adyacentes. Los cambios son suaves y
por esto se dice que se ha suavizado la imagen. Incluso los cambios ahora, en su mayoría son
de valor 1.
2. Filtro de la Mediana
El filtro de la mediana cambia el valor del píxel central por la mediana de los valores de
intensidad en la vecindad de ese píxel.
Los filtros de la mediana son bastante populares porque, para ciertos tipos de ruido aleatorio,
proporcionan excelentes resultados en la reducción del ruido, con un suavizado
considerablemente menor que el filtro de la media.
Los filtros de la mediana son particularmente eficaces para eliminar ruidos del tipo “sal y
pimienta” (se llama así porque presenta puntos blancos y negros superpuestos en una
imagen).
Debemos tener en cuenta que la mediana M de un conjunto de valores es tal que la mitad de
los valores del conjunto es menor o igual que M y la otra mitad es mayor o igual que M.
Para realizar el filtrado de la mediana en un punto de la imagen, primero ordenamos los
valores de los píxeles de la vecindad, calculamos su mediana y atribuimos ese valor al píxel
correspondiente en la imagen filtrada.
De esta manera, la principal misión del filtro de la mediana es forzar a los puntos con niveles
de intensidad distintos a ser más semejantes a sus vecinos.
Profesores MA475 8
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Solución:
Analizando las intensidades de los píxeles, se puede notar que hay puntos blancos y negros
(ruido “sal y pimienta”).
Veamos cómo se va calculando cada intensidad de los píxeles en la nueva imagen.
Calculemos g (2,1)
Imagen original
Imagen nueva
Calculemos g (0,2).
Imagen original
Imagen nueva
Profesores MA475 9
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Como hemos notado, ha desaparecido el ruido y la imagen nueva ha llenado el ruido por los
valores que estaban a su alrededor. De esta manera ha eliminado el ruido y ha hecho la imagen
mucho más suave. Ese es el efecto del filtro de la mediana.
Comparación entre los filtros de la media y de la mediana
Veamos el efecto sobre la matriz del ejemplo anterior, de ambos filtros.
Podemos notar que el filtro de la mediana ha logrado llenar el ruido “sal y pimienta” usando
los datos a su alrededor, logrando una imagen más continua, mientras que el filtro de la media
lo llena con valores nuevos.
Debido a que el filtro de la mediana llena el ruido con valores que existen a su alrededor y por
esto lo reduce con mayor efectividad que el de la media (que coloca nuevos valores) como se
ve en la foto.
Profesores MA475 10
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Filtros de agudizamiento
Su principal objetivo es el aumento de la nitidez de una imagen. Las aplicaciones de este tipo
de filtro son variadas e incluyen aplicaciones como: impresión electrónica, imágenes médicas,
inspección
Los filtros de agudizamiento se basan en derivadas de primer y segundo orden y, debido a
esto, primero hallaremos una fórmula para cada una de las derivadas que necesitaremos y
luego seguiremos con los filtros de agudizamiento (nitidez).
Derivadas de funciones digitales
En Cálculo, se define la primera derivada de una función f(x) como:
𝑑𝑓ሺ𝑥ሻ 𝑓ሺ𝑥 + ∆𝑥ሻ − 𝑓ሺ𝑥ሻ 𝑑𝑓ሺ𝑥ሻ 𝑓ሺ𝑥ሻ − 𝑓ሺ𝑥 − ∆𝑥ሻ
= lim o = lim
𝑑𝑥 ∆𝑥→0 ∆𝑥 𝑑𝑥 ∆𝑥→0 ∆𝑥
La primera derivada digital se hace tomando en cuenta que ∆𝑥, debido a que son datos
discretos, puede tomar 1 o -1 como cambio mínimo. Entonces, tenemos que la definición
digital de la primera derivada es:
𝑑𝑓ሺ𝑥ሻ 𝑑𝑓ሺ𝑥ሻ
= 𝑓ሺ𝑥 + 1ሻ − 𝑓ሺ𝑥ሻ o = 𝑓ሺ𝑥ሻ − 𝑓ሺ𝑥 − 1ሻ
𝑑𝑥 𝑑𝑥
Como en Procesamiento de imágenes las funciones tienen dos variables, entonces la primera
derivada (con respecto a cada una de sus variables x, y) se define sobre cada variable de la
siguiente manera:
𝜕𝑓ሺ𝑥, 𝑦ሻ 𝜕𝑓ሺ𝑥, 𝑦ሻ
= 𝑓ሺ𝒙 + 𝟏, 𝑦ሻ − 𝑓ሺ𝒙, 𝑦ሻ o = 𝑓ሺ𝒙, 𝑦ሻ − 𝑓ሺ𝒙 − 𝟏, 𝑦ሻ
𝜕𝒙 𝜕𝒙
Profesores MA475 11
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
𝜕𝑓ሺ𝑥, 𝑦ሻ 𝜕𝑓ሺ𝑥, 𝑦ሻ
= 𝑓ሺ𝑥, 𝒚 + 𝟏ሻ − 𝑓ሺ𝑥, 𝒚ሻ o = 𝑓ሺ𝑥, 𝒚ሻ − 𝑓ሺ𝑥, 𝒚 − 𝟏ሻ
𝜕𝒚 𝜕𝒚
𝑑 2 𝑓ሺ𝑥ሻ
= 𝑓ሺ𝑥 + 1ሻ + 𝑓ሺ𝑥 − 1ሻ − 2𝑓ሺ𝑥ሻ
𝑑𝑥 2
Como en Procesamiento de imágenes las funciones tienen dos variables, entonces la segunda
derivada (con respecto a cada una de sus variables x, y) se define sobre cada variable de la
siguiente manera:
𝜕 2 𝑓ሺ𝑥, 𝑦ሻ
= 𝑓ሺ𝒙 + 𝟏, 𝑦ሻ + 𝑓ሺ𝒙 − 𝟏, 𝑦ሻ − 2𝑓ሺ𝑥, 𝑦ሻ
𝜕𝒙2
𝜕 2 𝑓ሺ𝑥, 𝑦ሻ
= 𝑓ሺ𝑥, 𝒚 + 𝟏ሻ + 𝑓ሺ𝑥, 𝒚 − 𝟏ሻ − 2𝑓ሺ𝑥, 𝑦ሻ
𝜕𝒚2
Profesores MA475 12
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
𝜕 2𝑓 𝜕 2𝑓
𝛻2𝑓 = +
𝜕𝑥 2 𝜕𝑦 2
Recordemos que la zona de la imagen sobre la que se aplican las máscaras o filtros es de la
siguiente forma:
Según, las diferentes formas en que podemos expresar la primera y segunda derivadas
digitales y la aplicación práctica, el Laplaciano puede expresarse con diferentes fórmulas. Por
esto, es que aparecen las siguientes máscaras para el filtro Laplaciano:
Profesores MA475 13
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Ejemplo gráfico:
Filtro Laplaciano
Imagen Imagen
Original Filtrada
Filtro Laplaciano
Imagen Imagen
Original Filtrada
Aplicación
+ =
Profesores MA475 14
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
1 1 1 1 0
1 5 5 1 0 0 1 0 0 -1 0
1 5 5 1 0 1 -4 1 -1 4 -1
1 1 1 1 0 0 -1 0
0 1 0
0 0 0 0 0
Máscara 1 Máscara 2
Imagen original
1 1 1 1 0 -2 3 3 -2 1 2 -3 -3 2 -1
1 5 5 1 0 3 -8 -8 3 1 -3 8 8 -3 -1
1 5 5 1 0 3 -8 -8 3 1 -3 8 8 -3 -1
1 1 1 1 0 -2 3 3 -2 1 2 -3 -3 2 -1
0 0 0 0 0 1 1 1 1 0 -1 -1 -1 -1 0
Imagen original Resultado de aplicar Resultado de aplicar
la máscara 1 la máscara 2
Usando la operación módulo 8 para asegurarnos que los valores se mantengan en el intervalo
[0; 7]:
1 1 1 1 0 6 3 3 6 1 2 5 5 2 7
1 5 5 1 0 3 0 0 3 1 5 0 0 5 7
1 5 5 1 0 3 0 0 3 1 5 0 0 5 7
1 1 1 1 0 6 3 3 6 1 2 5 5 2 7
0 0 0 0 0 1 1 1 1 0 7 7 7 7 0
Imagen original Resultado de aplicar Resultado de aplicar
la máscara 1 la máscara 2
Profesores MA475 15
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Re-escalamiento
Otra técnica para que los valores se mantengan en el intervalo deseado es la de cambio de
escala, que describiremos ahora:
1. Se calculan el mínimo y el máximo valor de los resultados obtenidos al aplicar la
máscara. Digamos que estos valores son 𝑥1 y 𝑥2 , respectivamente.
2. Se halla la ecuación de la recta que une los extremos ሺ𝑥1 , 0ሻ y ሺ𝑥2 , 𝐿 − 1ሻ. Esta
ecuación realizará el cambio de escala.
3. Se aplica la fórmula encontrada a cada punto resultante de la aplicación de la máscara
y los resultados son redondeados.
Ejemplo de cambio de escala
Como vimos anteriormente, luego de aplicar el filtro Laplaciano obtuvimos la matriz
7 56
𝑦 = 11𝑥 + 11
Profesores MA475 16
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Ejercicio propuesto:
Aplique el método de cambio de escala al resultado de aplicar el segundo filtro laplaciano y
verifique que la nueva matriz obtenida es:
𝜕𝑓
ې ۍ
𝑓𝑥 𝜕𝑥
𝛻𝑓 = 𝑔𝑟𝑎𝑑ሺ𝑓ሻ = ൨ = ۑ𝑓𝜕ێ
𝑓𝑦 ۑ ێ
ے𝑦𝜕ۏ
Tomando una de las formas de las derivadas digitales, pero tomando en cuenta los términos
diagonales de las intensidades de una imagen, obtenemos las siguientes fórmulas:
𝜕𝑓
𝑓𝑥 = = ሺ𝑓ሺ𝑥 + 1, 𝑦 − 1ሻ + 2𝑓ሺ𝑥 + 1, 𝑦ሻ + 𝑓ሺ𝑥 + 1, 𝑦 + 1ሻሻ − ሺ𝑓ሺ𝑥 − 1, 𝑦 − 1ሻ + 2𝑓ሺ𝑥 − 1, 𝑦ሻ + 𝑓ሺ𝑥 − 1, 𝑦 + 1ሻሻ
𝜕𝑥
𝜕𝑓
𝑓𝑦 = = ሺ𝑓ሺ𝑥 − 1, 𝑦 + 1ሻ + 2𝑓ሺ𝑥, 𝑦 + 1ሻ + 𝑓ሺ𝑥 + 1, 𝑦 + 1ሻሻ − ሺ𝑓ሺ𝑥 − 1, 𝑦 − 1ሻ + 2𝑓ሺ𝑥, 𝑦 − 1ሻ + 𝑓ሺ𝑥 + 1, 𝑦 − 1ሻሻ
𝜕𝑦
Usando las fórmulas anteriores, y tomando en cuenta que |𝛻𝑓| ≈ |𝑓𝑥 | + |𝑓𝑦 | tenemos que
algunas de las máscaras son los filtros u operadores de Sobel:
𝑓𝑦 = 𝑓𝑥 =
Profesores MA475 17
UPC – Departamento de Ciencias – MATEMATICA COMPUTACIONAL (MA475)
Ejemplo gráfico 1:
Ejemplo gráfico 2:
Ejemplo gráfico 3:
Profesores MA475 18