Matemática Computacional

espacial de imágenes dedicado al agudizamiento (mejora de la nitidez). MATEMÁTICA .... aplicación de la máscara y los resultados son redondeados.
1MB Größe 27 Downloads 105 vistas
Matemática Computacional

Filtrado Espacial (Filtros de agudizamiento)

MATEMÁTICA COMPUTACIONAL - MA475

1

Logro El alumno, al término de la sesión, será capaz de entender el filtrado espacial de imágenes dedicado al agudizamiento (mejora de la nitidez).

MATEMÁTICA COMPUTACIONAL - MA475

2

Filtrado espacial de agudizamiento (realce de bordes) 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).

MATEMÁTICA COMPUTACIONAL - MA475

3

Considere f(x) que representa un perfil de línea

El perfil muestra las variaciones al pasar de una zona clara a una zona oscura y viceversa

La primera derivada detecta la variación. El máximo del valor absoluto coincide con el punto central del borde

La segunda derivada detecta los cambios en la pendiente y los cambios de la primera derivada. Los pasos por cero coinciden con el centro del borde MATEMÁTICA COMPUTACIONAL - MA475

4

Derivadas de funciones digitales La primera derivada de funciones digitales debe cumplir lo siguiente:

1. Debe ser CERO en áreas de intensidad constante 2. Debe ser diferente de CERO al inicio de una pendiente de intensidades. 3. Debe ser diferente de CERO a lo largo de la pendiente de intensidades.

MATEMÁTICA COMPUTACIONAL - MA475

5

MATEMÁTICA COMPUTACIONAL - MA475

6

Derivadas de funciones digitales En Cálculo, se define la primera derivada de una función f(x) como:

𝑑𝑓(𝑥) 𝑓 𝑥 + ∆𝑥 − 𝑓(𝑥) = lim ∆𝑥→0 𝑑𝑥 ∆𝑥

ó

𝑑𝑓(𝑥) 𝑓 𝑥 − 𝑓(𝑥 − ∆𝑥) = lim ∆𝑥→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 −𝑓 𝑥 𝑑𝑥

ó

𝑑𝑓(𝑥) =𝑓 𝑥 −𝑓 𝑥−1 𝑑𝑥

MATEMÁTICA COMPUTACIONAL - MA475

7

Derivadas de funciones digitales 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:

𝜕𝑓(𝑥, 𝑦) = 𝑓 𝒙 + 𝟏, 𝑦 − 𝑓 𝒙, 𝑦 𝜕𝒙 𝜕𝑓(𝑥, 𝑦) = 𝑓 𝑥, 𝒚 + 𝟏 − 𝑓 𝑥, 𝒚 𝜕𝒚

ó

𝜕𝑓(𝑥, 𝑦) = 𝑓 𝒙, 𝑦 − 𝑓 𝒙 − 𝟏, 𝑦 𝜕𝒙

ó

𝜕𝑓(𝑥, 𝑦) = 𝑓 𝑥, 𝒚 − 𝑓 𝑥, 𝒚 − 𝟏 𝜕𝒚

MATEMÁTICA COMPUTACIONAL - MA475

8

Derivadas de funciones digitales La segunda derivada se define en función de la primera derivada. De hecho, en cálculo, tenemos: 𝑑𝑓 𝑑𝑓 2 (𝑥 + ∆𝑥) − (𝑥) 𝑑 𝑓(𝑥) 𝑑𝑥 𝑑𝑥 = lim 2 ∆𝑥→0 𝑑𝑥 ∆𝑥 Tomando para

𝑑𝑓 (𝑥 𝑑𝑥

+ ∆𝑥)

derivada digital tenemos:

y

𝑑𝑓 (𝑥) 𝑑𝑥

la segunda forma de expresar la

𝑑 2 𝑓(𝑥) 𝑓 𝑥 + 1 − 𝑓(𝑥 + 1 − 1) − 𝑓 𝑥 − 𝑓(𝑥 − 1) = 𝑑𝑥 2 1

𝑑2 𝑓(𝑥) = 𝑓 𝑥 + 1 + 𝑓 𝑥 − 1 − 2𝑓(𝑥) 2 𝑑𝑥 MATEMÁTICA COMPUTACIONAL - MA475

9

Derivadas de funciones digitales 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 𝜕𝒚

MATEMÁTICA COMPUTACIONAL - MA475

10

Filtrado espacial de agudizamiento (nitidez) Los bordes en las imágenes digitales, muchas veces, son transiciones parecidas con las pendientes (ya que indican cambios de intensidad) por lo que las derivadas son las más adecuadas para realzarlas. De hecho, la segunda derivada es mucho más eficiente en esta misión (realce) que la primera derivada ya que logra producir un borde doble con espesor de un pixel.

MATEMÁTICA COMPUTACIONAL - MA475

11

Filtrado espacial de agudizamiento con el Laplaciano El Laplaciano es una función matemática que se define por: 2𝑓 2𝑓 𝜕 𝜕 𝛻2𝑓 = 2 + 2 𝜕𝑥 𝜕𝑦

Usando las fórmulas de la segunda derivada, deducidas anteriormente, tenemos que el Laplaciano se puede escribir como: 𝛻 2 𝑓 = 𝑓 𝑥 + 1, 𝑦 + 𝑓 𝑥 − 1, 𝑦 + 𝑓 𝑥, 𝑦 + 1 + 𝑓 𝑥, 𝑦 − 1 − 4𝑓 𝑥, 𝑦

MATEMÁTICA COMPUTACIONAL - MA475

12

Filtrado espacial de agudizamiento con el Laplaciano Recordemos que la zona de la imagen sobre la que se aplican las máscaras o filtros es de la siguiente forma:

Entonces, observando los coeficientes del Laplaciano 𝛻 2 𝑓 = 𝟏𝑓 𝑥 + 1, 𝑦 + 𝟏𝑓 𝑥 − 1, 𝑦 + 𝟏𝑓 𝑥, 𝑦 + 1 + 𝟏𝑓 𝑥, 𝑦 − 1 − 𝟒𝑓 𝑥, 𝑦 Tenemos que una máscara, para aplicar este filtro, será:

MATEMÁTICA COMPUTACIONAL - MA475

13

Filtrado espacial de agudizamiento con el Laplaciano 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:

MATEMÁTICA COMPUTACIONAL - MA475

14

Filtro Laplaciano

Imagen Original

Imagen Filtrada

MATEMÁTICA COMPUTACIONAL - MA475

15

Filtro Laplaciano

Imagen Original

Imagen Filtrada

MATEMÁTICA COMPUTACIONAL - MA475

16

+

Imagen Original

=

Aplicando el Laplaciano

MATEMÁTICA COMPUTACIONAL - MA475

Imagen Resultante

17

Ejemplo de aplicación del filtro Laplaciano Supongamos que se tiene una imagen de 5x5 donde se han usado 3 bits por pixel y su representación matricial se muestra en la figura, al igual que las máscaras del filtro Laplaciano.

máscara 1

máscara 2

Imagen original

MATEMÁTICA COMPUTACIONAL - MA475

18

Al aplicarle los filtros Laplacianos dados obtenemos los siguientes resultados respectivos usando la operación módulo para asegurarnos que los valores se mantengan en el intervalo [0, L-1]:

Imagen original

Resultado de aplicar La máscara 1 MATEMÁTICA COMPUTACIONAL - MA475

Resultado de aplicar La máscara 2 19

Pero si aplicamos el Laplaciano sin usar la operación de módulo se obtienen los siguientes resultados para las máscaras respectivas:

Imagen original

Usando la primera máscara

MATEMÁTICA COMPUTACIONAL - MA475

Usando la segunda máscara

20

Técnica de 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 x1 y x2, respectivamente.

2. Se halla la recta que une los extremos (x1,0) y (x2,L-1) . Esta recta será 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.

MATEMÁTICA COMPUTACIONAL - MA475

21

Ejemplo de cambio de escala Como vimos anteriormente, luego de aplicar el filtro Laplaciano obtuvimos la matriz

Ahora vamos a cambiarle la escala. Primero: el mínimo es -8 y el máximo es 3. Segundo: Hallamos la recta que pasa por (-8; 0) y (3; 7) ya que L=8 y lo que se quieres es reescalar al intervalo [0,L-1]. Dicha recta es :

7 56 𝑦 = 11 𝑥+ 11

MATEMÁTICA COMPUTACIONAL - MA475

22

Tercero: Aplicamos la función a cada uno de los puntos y resulta: 𝟕 𝟓𝟔 𝒚 = 𝟏𝟏 𝒙+𝟏𝟏

Resultado re-escalado (valores de y)

Resultado original (valores de x)

Ejercicio: Aplique el método de cambio de escala al resultado de aplicar el segundo filtro laplaciano y verifique que la nueva matriz obtenida es:

MATEMÁTICA COMPUTACIONAL - MA475

23

Filtrado espacial de agudizamiento con el Gradiente Las derivadas de primer orden, en procesamiento de imágenes son implementadas usando la magnitud del vector gradiente 𝜕𝑓 𝜕𝑥

𝑓𝑥 𝛻𝑓 = 𝑔𝑟𝑎𝑑 𝑓 = = 𝑓𝑦 𝜕𝑓 𝜕𝑦

El módulo o magnitud del vector gradiente está dado por 𝛻𝑓 = 𝑀 𝑥, 𝑦 =

𝑓𝑥 2 + 𝑓𝑦 2 ≈ |𝑓𝑥 | + |𝑓𝑦 |

MATEMÁTICA COMPUTACIONAL - MA475

24

Filtrado espacial de agudizamiento con el Gradiente 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) 𝜕𝑦

MATEMÁTICA COMPUTACIONAL - MA475

25

Filtrado espacial de agudizamiento con el Gradiente Usando las fórmulas anteriores, y tomando en cuenta que |𝛻𝑓| ≈ |𝑓𝑥 | + |𝑓𝑦 | tenemos que algunas de las máscaras son:

𝑓𝑦 =

𝑓𝑥 =

Dichas máscaras se denominan filtros u operadores de Sobel.

MATEMÁTICA COMPUTACIONAL - MA475

26

|𝛻𝑓| ≈ |𝑓𝑥 | + |𝑓𝑦 | Original

MATEMÁTICA COMPUTACIONAL - MA475

27

Imagen Original

Imagen Filtrada usando el filtro de Sobel

MATEMÁTICA COMPUTACIONAL - MA475

28

Original

Sobel

Laplaciano

MATEMÁTICA COMPUTACIONAL - MA475

29