Filtrado de Imagenes

August 13, 2018 | Author: tutoautomata | Category: Gradient, Mathematical Analysis, Physics & Mathematics, Mathematics, Mathematical Concepts
Share Embed Donate


Short Description

Download Filtrado de Imagenes...

Description

PROCESAMIENTO AUDIOVISUAL

Tema 3. Filtros y transformaciones locales.

Programa de teoría 1. Adquisición y representación de imágenes.

3.1. Filtros y convoluciones. convoluciones.

2. Procesamiento global de imágenes.

3.2. Suavizado, perfilado y bordes.

3. Filtros y transformaciones locales.

3.3. Filtros no lineales.

4. Transformaciones Transformaciones geométricas. 5. Espacios de color y el dominio frecuencial.

3.4. Morfología matemática.

6. Análisis de imágenes.

A.3. Filtros en IPL y OpenCV.

7. Vídeo y sonido digital.

ProcMateos, esamienthttp://dis.um.es/profesores/ginesgm o Audiovisual (c) Ginés García http://dis.um.es/profesores/gine sgm Tema Filtros y transformaciones locales. de Murcia Dept. de3.Informática y Sistemas, U niversidad

1

3.1. Filtros y convoluciones. • Recordatorio: en las transformaciones globales , cada

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.1. Filtros y convoluciones. • Transformación global:

píxel de salida depende sólo de un píxel de entrada.

Transf. global

90

67

75

78

62

68

78

81

92

87

78

82

102

89

76

85

45

83

80

130

83

109

80

111

39

69

115

154

69

92

115

120

Entrada

Transf. local

R(x,y):= f(A(x,y)) ó R(x,y):= f(A(x,y), B(x,y)) • Filtros y transformaciones locales: R(x,y):= f(A(x-k,y-k), ..., A(x,y), ..., A(x+k,y+k)) • Ejemplo. Filtro de la media.

Salida

R(x,y):= (A(x-1,y-1)+A(x,y-1)+A(x-1,y)+A(x,y))/4

• No se tiene tiene en cuenta cuenta la relación relación de de vecindad entre píxeles. El resultado no varía si los píxeles son  permutados aleatoria aleatoriament mente e y después después reordenados.



Transformación Transformación local: el valor de un píxel depende de la vecindad local de ese píxel. 3

78

82

-

-

-

45

80

130

-

74

93

39

115

154

-

70

120

∑/4

R

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

4

3.1. Filtros y convoluciones.

3.1. Filtros y convoluciones. • Ejemplo. Entrada, A

92

A

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

2

• Un tipo interes interesante ante de transfo transformac rmaciones iones locales locales son son las convoluciones discretas.

Salida, R



Convolución discreta: transformación transformación en la que el valor  del píxel resultante es una combinación lineal de los valores de los píxeles vecinos en la imagen.

• •

Resultado: la imagen se suaviza, difumina o emborrona.

• Las transfor transformaci maciones ones locales locales tienen tienen sentido sentido porque porque existe una relación de vecindad entre los píxeles. •

Recordatorio: un píxel representa una magnitud física en un punto de una escena  dos píxeles próximos corresponden a puntos cercanos de la escena  el mundo es “continuo”  los píxeles próximos tendrán valores parecidos. Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

5

Ejemplo. El filtro de la media es una convolución. R(x,y):= 1/4·A(x-1,y-1) + 1/4·A(x,y-1) + 1/4·A(x-1,y) + 1/4·A(x,y)



Otra forma de ver la convolución: Matriz de coeficientes de la combinación lineal.

(x-1,y-1)

1/4

1/4

1/4

1/4

(x-1,y) Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

(x,y-1)

(x,y) 6

3.1. Filtros y convoluciones.

3.1. Filtros y convoluciones. • Sea M una máscara de convolución. Se puede definir  como array [-k...k, -p...p] de real

• La matriz matriz de de coeficien coeficientes tes es conocida conocida como como la máscara o núcleo (kernel ) de convolución. •

En X la máscara va de -k a k, y en • Algoritmo. Cálculo de una convolución.  Y de -p a p. El Denotamos la convolución como: R:= M ⊗A punto central es (0,0)

Idea intuitiva: se pasa la máscara para todo píxel de la imagen, aplicando los coeficientes según donde caigan. Máscara de convolución ·1/4

·1/4

·1/4

·1/4

Imagen de entrada, 92

78

82

45

80

130

39

115

154

A

M: array [-k...k, -p...p] de real

Salida. R: imagen de maxX x maxY • Algoritmo: para cada píxel (x, y) de la imagen A hacer  •

Imagen de salida, R



-

-

-

-

74

93

-

70

120

R(x, y):= ∑ 7

3.1. Filtros y convoluciones. M

Ejemplos. R:= M⊗A

Punto central o ancla (anchor )

1/9

1/9

1/9

M

1

1

1

1/9

1/9

1/9

1/9·

1

1

1

1/9

1/9

1/9

1

1

1

El valor de un píxel es la media de los 9 píxeles circundantes

N -1

Igual que antes, pero factorizamos el múltiplo común (suma total = 1)

A

R

∑ M(i, j)·A(x+i, y+j)

i=-k.. i=-k..k k j=-p.. j=-p..p p

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.



Entrada. A: imagen de maxX x maxY



¿Cuánto valen estos píxeles?

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

+

8

3.1. Filtros y convoluciones. • Sobre Sobre una imag imagen en se puede pueden n aplicar  aplicar sucesivas operaciones de convolución: ...M3⊗(M2⊗(M1⊗A))) A

1

R

R

Restar al píxel el valor del píxel de la izquierda

R

Máscara de media aplicada 4 veces

Máscara de media + máscara de resta

• Ojo: la combinación de convoluciones es equivalente a una sola convolución: M2⊗(M1⊗A) = M⊗A Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

9

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.1. Filtros y convoluciones.

3.1. Filtros y convoluciones.

• ¿Cómo ¿Cómo calcular calcular el el resultad resultado o de la combin combinación ación? ? •

10

Respuesta: comprobar el efecto sobre una imagen sólo

• Análogame Análogamente, nte, algunas algunas convoluc convoluciones iones se pueden pueden obtener  obtener  combinando otras más simples: núcleos separables .

con el píxel central a UNO (“señal impulso”).



-1

-1

1

1

⊗ 1/9·

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

1

⊗ 0 0 1 0 0 = 0

0

0

0

0

0

0

0

0

0

Máscara equivalente

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

1

0

0

-1

⊗ 1/9· 0 1 1 1 0 = 1/9· 0

1

0

0

-1

0

1

1

1

0

0

1

0

0

-1

0

0

0

0

0

0

0

0

0

0

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

Ejemplo.

1/3·

1

⊗ 1/3·

1

1

1

⊗A = 1/9·

1



1

1

1

1

1

1

1

1

1

⊗A

Resultado: el filtro de la media es separable.  – En lugar de aplicar una máscara de 3x3 se pueden pueden aplicar dos máscaras de 1x3 y 3x1 ( máscaras unidimensionales).  – Puede ser útil para hacer hacer los cálculos cálculos más eficientes.

11

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

12

3.1. Filtros y convoluciones. • ¿Qué Qué hace acer con con los los píxeles de los bordes? •

·1/4

·1/4

·1/4

·1/4



Posibilidades:

1. Asignar un 0 en el resultado a los píxeles donde no cabe la máscara.

0 0 0

9

4

8

7

8

4

3

2

2

0

0

7

6

5

4

2. Suponer que los píxeles que que se salen tienen valor 0 (u otra constante). 3. Modificar la operación en los píxeles que no caben (variar el multiplicador).

9 8 5

3.1. Filtros y convoluciones.

6

6

7

6

5

4

4. Suponer que la imagen se extiende por los extremos (p.ej. como un espejo).

2 4 2

5 7 8

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3

3

7

6

5

4

4

4

7

6

5

4

• Las convol convolucion uciones es son son una una discreti discretizació zación n de la idea de convolución usada en señales. (Repasar teoría de señales...) • Diferencias: las convolucione convoluciones s usadas aquí son discretas y bidimensionales. • Idea: las máscaras de convolución son matrices de números  se pueden considerar, a su vez, como imágenes. • Propiedades:  – Asociativa: M2⊗(M1⊗A) = (M2⊗M1)⊗A  – Conmutativa: M2⊗M1⊗A = M1⊗M2⊗A  –

13

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.2. Suavizado, perfilado y bordes.

 –

14

3.2.1. Operadores de suavizado.

• Aplicando Aplicando distint distintos os operadore operadores s de convolu convolución ción es es posible obtener diferentes efectos :  –

Ojo: al aplicar una convolución puede ocurrir  saturación de píxeles. Si ocurre ocurre esto, el orden orden sí que puede ser  importante.

• El operado operadorr de suaviz suavizado ado más más simple simple es es la convolución de media (media aritmética).

Suavizado: o difuminación de la imagen, reducir 



Parámetros del operador:

contrastes abruptos en la imagen.

 – Ancho y alto de la región región en la que que se aplica: w x w x h.

Perfilado: resaltar los contrastes, lo contrario al

 – Posición Posición del ancla. ancla.

suavizado.

• Norm Normal alme ment nte, e, w y w y h son impares y el ancla es el píxel central.

Bordes: detectar zonas de variación en la imagen.  – Detección de cierto tipo de características, características, como  –

• La másc máscar ara a es un simple array de unos de tamaño w xh.

esquinas, segmentos, etc. • Suavizado Suavizado y perfilado perfilado son más más habitua habituales les en en y mejora de imágenes.

restauración

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

15

   1    1   x    1    1   e    d   a    i    d   e    M

   1    2   x    1    2   e    d   a    i    d   e    M

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

17

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

Media de 5x5 16

3.2.1. Operadores de suavizado. • Ventajas (respecto a otros suavizados):

• Cuanto Cuanto mayor mayor es la máscara, máscara, mayor mayor es el el efecto efecto de difuminación de la imagen.    5   x    5   e    d   a    i    d   e    M

1

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.2.1. Operadores de suavizado.   a    d   a   r   )    t   n   0   e   3   e   2   x    d   0   n   4   e   3   g   (   a   m    I

1

1

Máscara de media de 3x3

• Bordes Bordes y detección detección de caracte característ rísticas icas suelen suelen usarse usarse más en análisis de imágenes .

1

 – Sencillo Sencillo y rápido rápido de aplicar. aplicar.  – Fácil definir un comportamiento comportamiento para los píxeles de los bordes: tomar la media de los píxeles que quepan.  – Recordatorio: el operador de media es

+

separable.

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1



1

Media de 5x5

Media de 5x1 y de 1x5

Total: 25 sumas →o(n2)

Total: 10 sumas →o(2n)

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

18

3.2.1. Operadores de suavizado.

3.2.1. Operadores de suavizado.

• En algunos algunos casos casos puede puede ser ser interesante interesante aplicar  aplicar  suavizados direccionales : horizontales, verticales o en cualquier dirección.

1

1

1

1

1

Media horizontal 5 píxeles

1

0

0

1

1

0

1

0

1

1

0

0

Media vertical 3p



Ejemplo 1. En una aplicación trabajamos con imágenes capturadas de TV. El canal tiene muchas interferencias, que provocan una oscilación cada 7 píxeles horizontales. ¿Cómo reducir el efecto de las interferencias?

Media diagonal 3p

  p    1    3  .   z    i   r   o    h   a    i    d   e    M

  p    1    3  .    t   r   e   v   a    i    d   e    M

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.



horizontal de 7 píxeles...

19

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.2.1. Operadores de suavizado. • Aplicación Aplicación de media media horizo horizontal ntal de 7 píxel píxeles. es.

Idea: Probar con una media 20

3.2.1. Operadores de suavizado.

1 1 1 1 1 1 1



Ejemplo 2. 2. Entrelazado de vídeo: para aumentar la frecuencia de refresco del vídeo se separan las líneas pares y las impares (1 campo (field )=1/2 )=1/2 imagen). Al capturar una imagen, se mezclan los campos produciendo efectos raros.

25 imágenes/seg. → 50 campos/seg. → 20 mseg. entre campos Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

21

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.2.1. Operadores de suavizado.

3.2.1. Operadores de suavizado. 1

• Duplicar Duplicar las filas filas pares pares (o las impare impares) s) y luego luego aplicar  aplicar  una media vertical de 2 píxeles (para interpolar).

22



1

Ejemplo Ejemplo 3. Efecto de niebla. niebla. Dada una imagen bien definida, queremos simular una niebla (objetivo empañado).



Idea: calcular una media ponderada entre la imagen original y un suavizado gaussiano de la imagen. A. Imagen original

Imagen entrelazada

B. Suaviz. gauss. 40x40

Suma: 0,3A+0,7B

Duplicadas filas pares Suavizado vertical (interp.)

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

23

• Se puede puede consegu conseguir ir el mismo mismo resulta resultado do con una sola sola convolución. ¿Cuál sería la máscara equivalente? Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

24

3.2.1. Operadores de suavizado. • Cuando se aplica aplica la media con tamaños tamaños grandes grandes se obtienen resultados artificiosos (a menudo indeseados ).   e    d   o  a    i    d    d   a   z    i   e   v  m   a   u    S



  a   n   a    i   s   s   u   a    G

3.2.1. Operadores de suavizado. • Suavizado gaussiano: media ponderada, donde los pesos toman la forma de una campana de Gauss. •

Ejemplo. Suavizado gaussiano horizontal. Campana discreta Campana de Gauss f(x) = e

s2 es la varianza

Motivo: la media se calcula en una región cuadrada.

• Sería Sería mej mejor or aplic aplicar arla la a una región “redonda” . • O, mejor, mejor, usar suavizado suavizado gaussiano. gaussiano... .. Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

0

0

1

1

1

0

0

0

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1 1 1 1

1

1

1

1

1

1

1

0

1

1

1

1

1

0

0

0

1

1

1

0

0

25

3.2.1. Operadores de suavizado. • La varianza , s2, indica el nivel de suavizado.

1/64· 1

1/2·

 – Se mide mide en píxele píxeles. s.

Idea: el triángulo de Pascal. Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

1/8· 1 1/16· 1 1/32· 1 1/64· 1

f(x,y) = e

-(x2+y2)/s2

Máscara gaussiana de 3x3 1/16·

3

6

1 3

6

1 4

10 10

15 20 15

1 5

1 6

¿Por qué ocurre así? Recordar el teorema central del límite...

1

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.2.1. Operadores de suavizado.

Campana de Gauss 2D

5

1 2

4

27

• Normalmen Normalmente, te, el suavizad suavizado o gaussiano gaussiano se se aplica en en dos dimensiones. Los pesos de la máscara dependen de la distancia al píxel central .

1

1/4· 1

Cálculo de la máscara gaussiana (1D): calcular la función, discretizar en el rango, discretizar en el valor y 1 calcular el multiplicador...



28

3.2.1. Operadores de suavizado. • •

Propiedad interesante: el filtro gaussiano es separable. Resultado: se puede obtener un suavizado 2D aplicando dos máscaras gaussianas bidimensionales, una horizontal y otra vertical. 1

2

1

1

2

1

2

4

2

2

4

2

1

2

1

1

2

1

1 1

2

1



2 1



1: blanco 0: negro Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

26

discretizaciones de la campana de Gauss.

suavizado.

• ¿No exis existe te una una forma forma más rápi rápida? da?

1

3.2.1. Operadores de suavizado. • ¡Magia! Las filas del triángulo de Pascal forman

Varianza grande: campana más ancha, más suavizado.  – Varianza pequeña: campana más estrecha, menos

1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

6 15 20 15 6

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

 –



-x2/s2

29

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

30

+

3.2.1. Operadores de suavizado. • Comparación: media y suavizado gaussiano, 1D.

3.2.1. Operadores de suavizado. • Comparación: media y suavizado gaussiano, 2D.    1    1   x    1    1   e    d   a    i    d   e    M

   1    2   x    1    2   e    d   a    i    d   e    M

  p    1    3  .   z    i   r   o    h   a    i    d   e    M

  p    1    3  .    t   r   e   v   a    i    d   e    M

   1    2   x    1    2   a   n   a    i   s   s   u   a    G

   1    4   x    1    4   a   n   a    i   s   s   u   a    G

   1   x    1    6   a   n   a    i   s   s   u   a    G

   1    6   x    1   a   n   a    i   s   s   u   a    G

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

31

3.2.1. Operadores de suavizado. • Resultados de la comparación:  – Para consegu conseguir ir un mismo mismo “ grado de suavizado ” la máscara gaussiana debe ser de mayor tamaño. Se puede tomar como medida la máscara correspondiente. correspondiente. 

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

+

3.2.1. Operadores de suavizado. • Ejemplo 1. Protección de testigos. Se aplica un suavizado pero sólo en cierta región de interés (ROI), en este caso elíptica.

varianza de la

 – El efecto del suavizado suavizado gaussiano es más natural (más similar a un desenfoque) que la media.  Suele ser más habitual en procesamiento y análisis de imágenes.



Ejemplo 2.

¿Cómo encontrar la posición de la cara Resaltar objetos de interés. automáticamente? Se suaviza el fondo para destacar al personaje, simulando un desenfoque.

 – Ambos Ambos filtros filtros son separables.  Si la máscara es de nxn, pasamos de o(n 2) a o(2n).

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

33

3.2.1. Operadores de suavizado. • Ejemplo 3. Sombra difusa.

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

A

B

U

Suavizado gaussiano de 15x15, de U

S

34

3.2.1. Operadores de suavizado.

Añadir a una imagen A una etiqueta de texto B, con un efecto de sombra difuminada. Umbralizar B, con nivel 10

B

32

M

Desplazar S en 7 píxeles en X e Y, y dividir por 2

D

Sumar T y B, en posición (x0, y0)

Multiplicar A por M, en posición (x0, y0)

T

R

Sumar U y D

M Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

35

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

36

+

3.2.2. Operadores de bordes. • Perfilado y detección de bordes están relacionados

3.2.2. Operadores de bordes. • Matemáticam Matemáticamente, ente, la variación variación de una una función función f(x) cualquiera viene dada por la derivada de esa función:

con el suavizado:

Suavizado: reducir las variaciones en la imagen. Perfilado: aumentar las variaciones en la imagen. Bordes: encontrar las zonas de variación.

 –  –  –

 – f’(x) > 0 : función función crecien creciente te en X  – f’(x) < 0 : función función decrecie decreciente nte en X  – f’(x) = 0 : función función uniform uniforme e en X

• En nues nuestro tro caso, caso, tene tenemos mos funciones discretas . La “derivada discreta” se obtiene calculando diferencias.

Perfil de una fila de una imagen    l   e   x    í   p   e    d   r   o    l   a    V

   5    5    2

Perfil de la img.

   2    9    1

Suavizado

   8    2    1

Perfilado

   4    6

Bordes

0

160

320

480

640

0

X

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

 ∆f   ∆f 

f(x)



f’(x)

-1

1

37

  a    d   a   r    t   n   e   e    d   n   e   g   a   m    I

-1

-1

0

0

-1

1

0

1

1

0

[0..255]-[0..255]= [-255..255]

-1

1



2

1

2

4

2

1

2

1    )    8    2    1    +    (    X   a    d   a   v    i   r   e    D

=

1

-1

-1

2

2

-2

-2

1

1

-1

-1

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

• Los bordes bordes decrecien decrecientes tes se se saturan saturan a 0... 0... • Podemos Podemos sumar sumar 128 para para apreciar apreciar mejor mejor el result resultado: ado:  – Gris (128) (128):: diferencia diferencia 0

   X  .   v    i   r   e    D    +  .   z    i   v   a   u    S 41

   )    8    2    1    +    (    X   a    d   a   v    i   r   e    D

Rx

   )    8    2    1    +    (    Y   a    d   a   v    i   r   e    D

Ry

• Se prod produce uce una especi especie e de “bajorrelieve” (emboss), que puede usarse en efectos especiales.

Filtro de Prewitt Prewitt 3x3, derivada en X

R’x

38

40

3.2.2. Operadores de bordes. • Exis Existe ten n algu alguno nos s operadores de bordes estándar . • Filtros de Prewitt:

sensibles al ruido .

1

6

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

• Es posibl posible e (y (y adec adecuad uado) o) combinar los operadores de bordes con suavizados. 1

5

3.2.2. Operadores de bordes.

39

3.2.2. Operadores de bordes. • Los oper operado adores res de de bordes bordes son son muy muy

4

  – Blanco: Blanco: creciente creciente

   X   n   e   a    d   a   v    i   r   e    D

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3

 – Negro: Negro: decrecient decreciente e

   )    2   x    (

R

2

Conclusión: la derivada se calculará con máscaras máscaras del tipo: -1 1

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

+

Ejemplo. Ejemplo. Derivada Derivada en X. R:= M⊗A

A

1

 ∆x  ∆x = 1

f’(x) f’(x) = f(x) - f(x-1) f(x-1)

 ∆x  ∆x

X

3.2.2. Operadores de bordes. Máscara de Derivada Derivadas en derivada en X (M) : en Y: diagonales:

Rx

 ∆f  ∆f = f(x)-f(x-1)

   0

   0



f’(x) = ∆ =  ∆f/ f/ ∆x  ∆x

   5

   2    l    5   e   x    2    í    9   p   1   e   8    d   2   r    1   o   4    l   a   6    V



-1

0

1

-1

0

1

-1

0

1

Filtro de Prewitt Prewitt 3x3, derivada en Y

-1

-1

-1

0

0

0

1

1

1

-3

-10

-3

0

0

0

3

10

3

Filtros de Scharr:

Filtro de Scharr Scharr 3x3, 3x3, derivada en X

-3

0

3

-10

0

10

-3

0

3

Filtro de Scharr Scharr 3x3, derivada en Y

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

42

3.2.2. Operadores de bordes. • Filtros de Sobel: se construyen usando la derivada

3.2.2. Operadores de bordes. • Ejemplos.   a    d   a   r    t   n   e   e    d   n   e   g   a   m    I

de la gaussiana. Filtro de Sobel Sobel 3x3, 3x3, derivada en X

-1

0

1

-2

0

2

-1

0

1

Filtro de Sobel Sobel 3x3, 3x3, derivada en Y

-1

-2

-1

0

0

0

1

2

1

• Además, Además, el el filtro filtro de de Sobel Sobel permite calcular calcular deriva derivadas das conjuntas en X e Y, derivadas segundas, terceras, etc. •



1

-1

=

1

-1

2

43

3.2.2. Operadores de bordes. • Realmente, Realmente, en en dos o más más dimensio dimensiones, nes, en lugar de de la derivada tiene más sentido el concepto de gradiente. • ¿Qué ¿Qué es el gra gradi dien ente te? ? •



   Y  .   v    i   r   e    d    ª    2    l   e    b   o    S

   Y    l   e    b   o    S

-1

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

   Y    t    t    i   w   e   r    P

   )    3   x    3    (

Ejemplo. Derivada segunda en X. -1

   )    3   x    3    (

Repasar cálculo...

El gradiente indica la dirección de máxima variación

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

44

3.2.2. Operadores de bordes. • El gradiente en un punto es un vector (u, v): Ángulo: dirección de máxima variación.  – Magnitud: intensidad de la variación.  –

dy

de una función (en 2D, la máxima pendiente).

(u, v) dx

• El gradiente está relacionado relacionado con con las derivadas:  – u = Derivada Derivada en X del del punto  – v = Derivada Derivada en Y del del punto punto  – Teniendo Teniendo dy y dx, ¿cuánto ¿cuánto vale vale el ángulo y la magnitud magnitud? ? Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

45

3.2.2. Operadores de bordes. • Cálculo del gradiente:  – Calc Calcul ular  ar derivada en X: Dx (por ejemplo, con un filtro de Sobel, Prewitt,...)

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

46

3.2.2. Operadores de bordes. • El gradie gradiente nte da luga lugarr al concep concepto to de borde . • Un borde en una imagen es una curva a lo largo de la cual el gradiente es máximo.

 – Calc Calcul ular  ar derivada en Y: Dy  –  –

Magnitud del gradiente: Dx2 + Dy2 Ángulo del gradiente: atan2 (Dy, Dx)

Valor absoluto de derivada en X (Sobel (Sobel de 3x3) 3x3)

Valor absoluto de derivada en Y (Sobel (Sobel de 3x3) 3x3)

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

El borde es perpendicular a la dirección del gradiente.

Magnitud del gradiente 47

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

48

3.2.2. Operadores de bordes. • Los bordes bordes de una una esce escena na son son invariantes a cambios de luminosidad, color de la fuente de luz, etc.  En análisis de imágenes usar los bordes (en lugar de las originales).

3.2.2. Operadores de bordes. • Otras formas de calcular los bordes: 1. Calcular la derivada en diferentes direcciones: D1, D2, D3, D4. 2. Para cada punto, la magnitud magnitud del gradiente es la derivada derivada de máximo valor absoluto: G(x,y):= G(x,y):= max {|D1(x,y)|, |D2(x,y)|, |D3(x,y)|, |D 4(x,y)|} 3. La dirección del del gradiente viene dada por el ángulo ángulo que ha producido el máximo: A(x,y):= A(x,y):= argmax argmax {|D1(x,y)|, |D2(x,y)|, |D3(x,y)|, |D4(x,y)|} -1 -1 -1

-1 -1 0

-1 0

1

0

1

1

0

0

0

-1 0

1

-1 0

1

-1 0

1

1

1

1

0

1

-1 0

1

-1 -1 0

D1: N-S Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

49

3.2.2. Operadores de bordes. • Otra forma forma más más sencilla sencilla (aproxim (aproximada) ada) es usar usar máscar máscaras as de convolución adecuadas, por ejemplo de Laplace. • La función de Laplace es la segunda derivada de la gaussiana.

2

2

df(x)/dx Másc. Sobel

d2f(x)/dx2 Másc. Laplaciana

Operador de suavizado

Operador de derivación

Operador de gradiente

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

D3: E-O

D4: SE-NO 50

3.2.2. Operadores de bordes. • La má máscara laplaciana se define usando la función de Laplace. • Ejemp jemplo los s de máscaras de Laplace . 0

-1 -1 -1

1 -4 1

-1 8 -1

0

-1 -1 -1

1 1

0

“Diferencia entre el píxel central y la media de sus vecinos...”    )    3   x    3    (    2   a   n   a    i   c   a    l   p   a    L

  a    d   a   r    t   n   e   e    d   n   e   g   a   m    I

51

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.2.2. Operadores de bordes. •

D2: NE-SO

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

0

f(x) = e -x /s Másc. Gaussiana

1

52

3.2.3. Operadores de perfilado.

Detector de bordes de Canny:  – No sólo usa convoluciones (operadores (operadores de gradiente), sino sino que busca el máximo gradiente a lo largo de un borde.  – El resul resultado tado es una una imagen binaria (borde/no borde), ajustable mediante un umbral.



Perfilado: destacar y hacer más visibles las variaciones y bordes de la imagen. Es lo contrario al suavizado.

• Permite Permite eliminar eliminar la aparie apariencia ncia borrosa borrosa de de las imágenes imágenes,, debida a imperfecciones en las lentes. • ... aunque aunque tampoc tampoco o se pueden pueden hacer hacer milagro milagros... s...

← Suavizado Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

53

Original

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

Perfilado → 54

3.2.3. Operadores de perfilado. • El perfilado perfilado se se puede puede conseguir conseguir sumand sumando o a la imagen imagen original , la laplaciana ponderada por cierto factor.

3.2.3. Operadores de perfilado. • Ejemplos. Variando pesos y tamaño de la laplaciana.

• Lo cual cual equivale equivale a usar usar una una máscara máscara de convo convolución lución adecuada: Laplaciana

Identidad

-1

-1

-1

0

0

0

1· -1

8

-1

0

1

0

-1

-1

-1

0

0

0

+

Perfilado

=

-1

-1

-1

-1

9

-1

-1

-1

-1

• Más o menos menos perfilad perfilado o dando dando distintos distintos pesos pesos,, a. 0

-1

0

a· -1

4

-1

0

-1

0

+

0

0

0

0

1

0

0

0

0

0

=

-a

0

-a 4a+1 -a 0

-a

0

Ojo: la función función cvLaplace máscar Procesausa miento máscaras Audiovisualas Tema 3. Filtros y transformaciones a debe “invertidas”, luego ser < 0 locales.

55

   1   x    1  ,    %    0    6   o    d   a    l    i    f   r   e    P

   7   x    7  ,    %    5    1   o    d   a    l    i    f   r   e    P 56

3.2. Suavizado, perfilado y bordes.

Cuidado con el perfilado. La operación de perfilado

Conclusiones:

aumenta el nivel de ruido de la imagen.

   3   x    3  ,    %    3    3   o    d   a    l    i    f   r   e    P

  o   s   a    d    i    i   c   u   r   n   n   e   r   o   e    V   c   f   r   T   n   t   e   e   n   g   i   a   r   m  o    I   p

   3   x    3  ,    %    0    6   o    d   a    l    i    f   r   e    P

  o   n    d    i    ó    i   u   r   s   n   e   r   o   p   G   c    E   m    P   n   o   J   e   c   g   r   a   o   m  p    I Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

   3   x    3  ,    %    3    3   o    d   a    l    i    f   r   e    P

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.2.3. Operadores de perfilado. •

  a    d   a   r    t   n   e   e    d   n   e   g   a   m    I

• Las convoluciones son una herramienta fundamental en procesamiento de imágenes.

Una misma base común: combinaciones lineales de una

 –

Diversos usos: según los valores de los coeficientes:

vecindad local de los píxeles (de cierto tamaño). suavizado, eliminación de ruido, bordes, perfilado, etc.

• Se pued pueden en defi defini nir  r operaciones similares sobre vídeo (usando la dimensión temporal, por ejemplo, suavizado a lo largo del tiempo), y sobre audio digital (por ejemplo, suavizado de la señal o introducción de eco). • Es impo importa rtante nte conoce conocerr el significado matemático de los procesos aplicados (derivadas, gradientes, integrales,...).

57

3.3. Filtros no lineales. • Recordatorio: las transformaciones locales son

 –

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

58

3.3. Filtros no lineales. •

Ejemplo. Media geométrica de 5x5.

funciones del tipo:

... muy parecido a la media aritmética...

R(x,y):= f(A(x-k,y-k), ..., A(x,y), ..., A(x+k,y+k)) • En las convol convoluci ucione ones, s, f es una combinación lineal cualquiera. Pero... • También También puede puede ser interes interesante ante usar otras funciones no lineales . •

• Aunque Aunque existen existen muchas muchas (en teoría teoría infinitas) infinitas) posible posibles s transformaciones no lineales, en la práctica no todas son útiles e interesantes.

Ejemplo , media geométrica. 4

R(x,y):= A(x-1,y-1)·A(x,y-1)·A(x-1,y)·A(x,y) Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

59

• Las que más se usan usan son: son: máximo , mínimo y mediana. Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

60



3.3. Filtros no lineales. Filtro de Máximo: R(x,y):= max {A(x-k,y-k), ..., A(x,y), A(x,y), ..., A(x+k,y+k)} donde k es el radio, el tamaño (o apertura ) es 2k+1   a    d   a   r    t   n   e   e    d   n   e   g   a   m    I

   6   o    ñ   a   m   a    t  ,  .   x    á    M Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

3.3. Filtros no lineales.

   3   o    ñ   a   m   a    t  ,   o   m    i   x    á    M    2    1   o    ñ   a   m   a    t  ,  .   x    á    M

  a    d   a   r    t   n   e   e    d   n   e   g   a   m    I    6   o    ñ   a   m   a    t  ,  .   n    í    M Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

El resu resulta ltado do es es un cierto cierto efecto 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:

1. Efecto Efecto de cuad cuadric ricula ulado. do. Como el máximo se aplica en una zona cuadrada, los píxeles muy claros generan un cuadrado uniforme alrededor.

2. Aparición Aparición de colores colores falsos. falsos. Al aplicarlo en los tres canales (R,G,B) independientemente, independientemente, el máximo en los 3 puede no corresponder a un color  presente en la imagen original.

61

3.3. Filtros no lineales. • Filtro de Mínimo: R(x,y):= min {A(x-k,y-k), ..., A(x,y), A(x,y), ..., A(x+k,y+k)} donde k es el radio, el tamaño (o apertura ) es 2k+1



Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

62

3.3. Filtros no lineales. • El efec efecto to es parecido al máximo, pero tomando los valores menores (los más oscuros). Máximo

   3   o    ñ   a   m   a    t  ,   o   m    i   n    í    M    2    1   o    ñ   a   m   a    t  ,  .   n    í    M

Mínimo



Ideas:  – Para Para evitar evitar el el efecto de cuadriculado se podría aplicar  el máximo/mínimo a una zona circular.  – Para evitar evitar la aparic aparición ión de colores falsos se podría tomar el máximo de las sumas de R+G+B.

63

3.3. Filtros no lineales.

• Otro filtro filtro relacio relacionado nado es el de la mediana. • La mediana de m números es un número p tal que m/2 de esos números son ≤ p, y otros m/2 son ≥ p.

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

64

3.3. Filtros no lineales. • La media mediana na produ produce ce un efec efecto to de suavizado, aunque más “abrupto” en los bordes que la media y el suavizado gaussiano. gaussiano.

R(x,y):= mediana {A(x-k,y-k), ..., A(x,y), ..., A(x+k,y+k)}   a    d   a   r    t   n   e   e    d   n   e   g   a   m    I

   6   x    6   a   n   a    i    d   e    M Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

   3   x    3   a   n   a    i    d   e    M    2    1   x    2    1   a   n   a    i    d   e    M 65

Mediana

Suavizado gaussiano

• Pero Pero el verda verdader dero o inter interés és es la la

Mediana

eliminación de ruido puntual.

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

66

3.3. Filtros no lineales. • Ejemplo. El ruido denominado denominado “sal “sal y pimienta” es

3.3. Filtros no lineales. • Se puede intent intentar ar eliminar eliminar (o reducir) reducir) el ruido ruido con un filtro filtro gaussiano o con una mediana.

producido por picos de perturbación, positivos o negativos. Puede deberse a un canal ruidoso.

   3   x    3   a   n   a    i    d   e    M   o   n   a    i   s   s   u   a   g   o   r    t    l    i    F

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

67

3.3. Filtros no lineales.

  o   n   a    i   s   s   u   a   g   o   r    t    l    i    F

   7   x    7   a   n   a    i    d   e    M

   3   x    7   a   n   a    i    d   e    M

El ruido se difumina, pero no llega a desaparecer  69

3.3. Filtros no lineales. • Más filtros no lineales: recordar la ecualización local del histograma.  – Considera Considerarr 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 de aplicarlos globalmente, globalmente, calcular calcular los parámetros para cada punto , usando una vecindad local.  – Aplicar la transformación transformación a cada punto, usando sus parámetros específicos. Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

• Otros ejemplos de eliminación de ruido.

Con este tipo de ruido funciona mucho mejor 

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

 –

68

3.3. Filtros no lineales.

• Se puede puede intentar intentar eliminar eliminar (o reducir reducir)) el ruido con un un filtro gaussiano o con una mediana.    3   x    3   a   n   a    i    d   e    M

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

71

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

70

3.3. Filtros no lineales. • Algoritmo. Ecualización local de tamaño axb: 1. Para cada punto (x,y) (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) 2. Calcular el percentil percentil del valor A(x,y), es decir: decir: p:= (H(0)+H(1)+...H(A(x,y)))/((2a+1)(2b+1)) 3. Hacer Hacer R(x,y):= R(x,y):= 255·p

62%

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

0,62*255 = 158

72



3.3. Filtros no lineales. Ejemplo. Ecualización local del histograma.

3.4. 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.

Imagen de entrada

• Originalmente Originalmente,, están están definidos definidos sobre imágenes binarias.

Resolución: 299x202

• La idea es muy parecida parecida a una una convolució convolución, 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) (x-1,y-1)

Elemento estructurante Tamaño: 25x25

Tamaño: 50x50

(= máscara de convolución)

Tamaño: 120x120

• La misma misma idea se podría podría aplicar aplicar a umbralizaci umbralización ón y estiramiento. Procesamiento Audiovisual

73

• El elemento estructurante define los píxeles que se usan en la operación y los que no. • Dado un elemento elemento estructur estructurante ante,, E, de cierta forma y tamaño, y una imagen binaria B, se definen dos operaciones: pondientes a los píxeles 1 del elemento estructurante.



Ejemplo.

Imagen de entrada

pondientes a los píxeles 1 del elemento estructurante. • La idea idea se se puede puede gener generali alizar zar a imágenes no binarias :

Dilatación. Combinar con Máximo.  – Erosión. Combinar con Mínimo.  –

Elemento estructurante 75

3.4. Morfología matemática. • Exis Existe ten n otra otras s dos dos operaciones frecuentes basadas en erosión y dilatación:

Abrir. Aplicar erosión y después dilatación: (B E) E  – Cerrar. Aplicar dilatación y después erosión: (B E) E  –

Elemento estructurante

1

1

1

1

1

1

1

1

0

0

0

1

(x,y) → Punto de ancla (x+1,y+1) 74

1

1

1

1

1

1

1

1

   1   n    ó    i   c   a    t   a    l    i    D

   3   n    ó    i   c   a    t   a    l    i    D

   1   n    ó    i   s   o   r    E

   3   n    ó    i   s   o   r    E

1 Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

76

3.4. Morfología matemática. • Ejemplo. Segmentación de objetos. Para segmentar un objeto del fondo usamos una simple umbralización. Funciona más o menos bien, pero aparecen algunos puntos mal clasificados. Umbraliza Umbralizada da (u=130) (u=130) Imagen de entrada

Abrir: desaparecen los puntos sueltos o estructuras finas

Cerrar: se rellenan los huecos negros de cierto tamaño

1 Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

1

• El efec efecto to de la dilatación es extender o ampliar las regiones de la imagen con valor 1 (color blanco), mientras que la erosión las reduce.

Erosión B E. Combinar con AND los valores corres-

Imagen de entrada

0

• La cantid cantidad ad depend depende e del del tamaño y forma del elemento estructurante y del número de veces que se aplican.

Dilatación B E. Combinar con OR los valores corres-

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

0

3.4. Morfología matemática.

3.4. Morfología matemática.

 –

0

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

Tema 3. Filtros y transformaciones locales.

 –

1

77

• Usar Usar mor morfo folo logí gía a para para arreglar los falsos.

Falsos positivos

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

Falsos negativos 78

3.4. Morfología matemática.

3.4. Morfología matemática.

• El resu resulta ltado do es la máscara para segmentar el objeto.

Cerrar 2 (B ⊕E⊕E)⊗E⊗E

Imagen umbralizada

  s   o   s  s    l   a  o    f   v    i   r   t   a  a   n  g    i   e   m  n    i    l    E

Erosión 2 (B⊗E)⊗E

Abrir 1 (B⊗E)⊕E   s   o   s  s    l   a  o    f   v    i   r   t   a   i   s   n  o    i   p   m    i    l    E

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

• ¿Para ¿Para qué qué se hacen hacen las las dos dos última últimas s erosio erosiones nes? ?   s   e  s    l   e   e   d   x  r    í   p  o   r   b   a  s   n   l   o    i   m  e    i    l   d    E 79

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

80

3.4. Morfología matemática.

3.4. Morfología matemática.

• En imágenes no binarias , el resultado de dilatación y erosión es parecido a las operaciones de máximo y mínimo. • De hecho, hecho, es igual igual si el elemen elemento to estructu estructurant rante e es todo 1. 1.

• Existen Existen otras operac operaciones iones de de morfología, morfología, basada basadas s en las elementales, que son útiles en análisis de imágenes. • Ejemplo 1. Borde morfológico: (B E) - B Imagen de entrada

  a    d   a   r    t   n   e   n   e   g   a   m    I

   1  ,   n    ó    i   s   o   r    E

   3  ,   n    ó    i   c   a    t   a    l    i    D

   2  ,   e   r   r   e    i    C

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.



81

Borde morfológico

Ejemplo 2. Adelgazamiento Adelgazamiento (thinning ). Aplicar una erosión, pero no eliminar el punto (no poner a 0) si se separa una región conexa en varias o si sólo queda un punto. Procesamiento Audiovisual

82

Tema 3. Filtros y transformaciones locales.

3. Filtros y transformaciones locales.

Conclusiones: • Las opera operaci cion ones es de procesamiento local son esenciales en mejora de imágenes, restauración, análisis, etc. • Dos categorías básicas:  – Filtros lineales o convoluciones: la salida es una combinación lineal de los píxeles en una vecindad  Suavizado, bordes, perfilado, etc.  – Filtros no lineales: se usan funciones no lineales  Máximo, mínimo, operaciones de morfología, etc. • Es po posib sible combinarlas con operaciones de procesamiento global. • La idea idea de “locali “localidad” dad” se puede puede exten extender der a vídeo vídeo y a sonido, considerando la dimensión temporal. Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

83

Anexo A.3. Filtros en IPL y OpenCV. •

Filt Filtro ros s line lineal ales es pre prede defi fini nido dos. s.



Filt Filtro ros s lin linea eale les s arb arbit itra rari rios os..



Filtr Filtros os de máxim máximo, o, mínim mínimo o y median mediana. a.



Operac Operacion iones es de morfol morfologí ogía a matemá matemátic tica. a.



Ejercicios.

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

84

A.3. Filtros en IPL y OpenCV.

A.3. Filtros en IPL y OpenCV.

Operaciones de procesamiento local: • La mayoría mayoría están están disponibles disponibles en IPL y en OpenCV. En principio, manejaremos preferiblemente las de OpenCV. • De modo modo práctico, práctico, podemos podemos clasificar clasificar las operaciones operaciones de filtrado en los siguientes grupos:  – Filt Filtro ros s lineales predefinidos de suavizado y detección de bordes  – Filt Filtro ros s lineales arbitrarios, definidos por el usuario en tiempo de ejecución  – Filtro Filtros s de de máximo, mínimo y mediana  – Operacion Operaciones es de morfología matemática •

• Filtros lineales predefinidos :  – cvSmooth, cvSmooth, cvSobel, cvSobel, cvLaplac cvLaplace, e, cvCanny (estándar (estándar pero no lineal...), iplBlur, iplFixedFilter 

• Filtros lineales arbitrarios :   – cvFilter2D, IplConvKernel, iplCreateConvKernel, iplCreateConvKernel, iplGetConvKernel, iplGetConvKernel, iplDeleteConvKernel, iplDeleteConvKernel, iplConvolve2D, iplConvolve2D, iplConvolveSep2D

• Filt Filtro ros s de máximo, mínimo y mediana:   – iplMaxFilter, iplMinFilter, iplMedianFilter  iplMedianFilter 

• Filt Filtro ros s de morfología matemática:

Ojo con las restricciones. Algunas operaciones requieren

  – cvCreateStructuringElementEx, cvCreateStructuringElementEx, cvReleaseStructuringElement, cvReleaseStructuringElement, cvErode, cvDilate, cvMorphologyEx

imágenes de 1 canal o profundidad profundidad float (recordar cvSplit, cvMerge y cvConvertScale). Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

85

Procesamiento Audiovisual Tema 3. Filtros y transformaciones locales.

A.3. Filtros en IPL y OpenCV.

A.3. Filtros en IPL y OpenCV.



Filtros de suavizado de una imagen:



Filtros de Sobel de una imagen: void cvSobel (const CvArr* CvArr* A, CvArr* CvArr* R, int dx, int dy, int apertureSi apertureSize=3) ze=3)

void cvSmooth (const CvArr* src, CvArr* CvArr* dst, int type=CV_GAUSSIAN, int param1=3, param1=3, int param2=0) param2=0)  – El pará parámet metro ro type indica el tipo de suavizado a aplicar, y el tamaño viene dado en param1 y param2:

A: imagen de origen, R: imagen de destino. Ambas deben ser de 1 solo canal. Además, R debe ser de 16 bits (si A es de 8), o float float de 32.  – dx, dy: orden de la derivada en X y en Y. Normalmt. usaremos (1,0) o (0,1).  – apertureSize: tamaño de la máscara de convolución: -1 (fi ltro de Scharr), 1 (resta (resta simple), simple), 3, 5 ó 7.  – Ejemplo. Obtener la magnitud del gradiente de la imagen img con 3 canales.  –

• CV_BLUR: CV_BLUR: media media de param1x param1xparam2 param2.. ¡Ojo! deben ser impares. • CV_BLUR_N CV_BLUR_NO_SCA O_SCALE: LE: media, pero sin dividir dividir por el número de píxeles (usar sólo con profundidades mayores que 8 bits). • CV_GAUSSIAN: filtro gaussiano de param1xparam2, param1xparam2, valores impares. • CV_MEDIAN: filtro de mediana, mediana, de param1xparam1 param1xparam1 (siempre cuadrado). • CV_BILATE CV_BILATERAL: RAL: es un filtro de suavizado. suavizado. No es una convolució convolución n en el sentido tradicional. Reduce el número de colores de una imagen, pero no altera los bordes abruptos. param1 indican el grado de similitud entre colores, y param2 es un parámetro espacial. Ver la documentación.

int int i; IplImage *tmp, *can[9];  // can[0,1,2] = canales orig.; [3,4,5] = deriv. X, [6,7,8] = deriv. Y  tmp= cvCreateImage(cvGetS cvCreateImage(cvGetSize(img), ize(img), IPL_DEPTH_32F, IPL_DEPTH_32F, 3); cvConvert(img, tmp); for (i= 0; i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF