19
Procesamiento de Imágenes Modificación imágenes para generar otras imágenes Objetivo: mejorar la imagen en algún sentido Reasignación de niveles de gris pixel a pixel Puede implementarse mediante LUT (tablas) Modificación del Histograma 0 255 0 255 nivel gris imagen entrada nivel gris imagen salida T(r) r s r T(r) 0 0 1 0 2 1 253 254 254 255 255 255 1 Procesamiento de Imágenes

Histograma modificacion

Embed Size (px)

Citation preview

Page 1: Histograma modificacion

Procesamiento de Imágenes• Modificación imágenes para generar otras imágenes• Objetivo: mejorar la imagen en algún sentido

• Reasignación de niveles de gris pixel a pixel• Puede implementarse mediante LUT (tablas)

Modificación del Histograma

0 2550

255

nivel gris imagen entrada

nive

l gris

imag

en sa

lida

T(r)

r

s

r T(r)0 01 02 1

253 254254 255255 255

1Procesamiento de Imágenes

Page 2: Histograma modificacion

2Procesamiento de Imágenes

Modificación histograma:cambio escala– Convierte el intervalo [a,b] → [z1,z2] – Mejora brillo y contraste 1

12 )()()( zar

abzzs +−

−−=

0

32

64

96

128

0 64 128 192 256

0

1500

3000

4500

6000

0 64 128 192 2560

1500

3000

4500

6000

0 64 128 192 256

0

32

64

96

128

0 64 128 192 256

[0,110]→ [50,255]

Histograma

Histogramaacumulado

Page 3: Histograma modificacion

3Procesamiento de Imágenes

Modificación histograma: ecualización• Transforma el histograma en una distribución uniforme• Histograma acumulado lineal

• imagen original, pi pixeles de ng ri• imagen destino, qi pixeles de ng si• ¿tabla T(ri)• para q0, buscar k0 tal que:• r0, r1, ..., rk0-1 se mapean a s0• para q1, buscar k1 tal que:• rk0,..., rk1-1 se mapean a s1

∑∑=

=

≤≤00

00

1

0

k

ii

k

ii pqp

∑∑=

=

≤+≤10

010

1

0

k

ii

k

ii pqqp

0

1

0 2550

1

0 255

• .....• quedan niveles si sin asignar

Page 4: Histograma modificacion

4Procesamiento de Imágenes

Modificación histograma: ecualización

0

32

64

96

128

0 64 128 192 2560

1500

3000

4500

6000

0 64 128 192 256

0

1500

3000

4500

6000

0 64 128 192 256

0

32

64

96

128

0 64 128 192 256

0

1500

3000

4500

6000

0 64 128 192 2560

32

64

96

128

0 64 128 192 256

normalización histograma completo

normalización excluyendo extremos del histrograma

imagen original

Page 5: Histograma modificacion

5Procesamiento de Imágenes

Ruidos de imagen típicos• ruido de “sal y pimienta”: ocurrencias aleatorias de

pixeles completamente blancos y completamente negros.

• ruido impulso: ocurrencias aleatorias de pixelescompletamente blancos

• ruido gausiano: el nivel de gris de todos los pixeles de la imagen es perturbado con una normal

),0( ],[],[ 2ideal σNppjiIjiI ≈+=

figura 4.5 Jain

Page 6: Histograma modificacion

6Procesamiento de Imágenes

Filtrado lineal: Convolución• Cada pixel de la imagen resultado es combinación lineal

de varios pixels vecinos de la imagen original• Máscara de convolución (Kernel):

• Normalmente, máscaras centradas• Si no, se marca el pixel central

[ ]

[ ] [ ] [ ] [ ] [ ]njmifnmKjifnmKjig

kkk

kkk

kkk

nmK

b

am

d

cn

dbbcb

dc

daaca

++=∗=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

∑ ∑−= −

−−−−

,,,,,

,

,0,,

,00,0,0

,0,,

LL

LLLLL

LL

LLLLL

LL

Page 7: Histograma modificacion

7Procesamiento de Imágenes

Convolución: Ejemplos• Máscara descentrada

– Diferencia hacia adelante

• Máscara centrada– Filtro binomial 3x3 B3x3 =

116

1 2 12 4 21 2 1

g(i, j) = 116

[ f(i −1, j −1) + 2 f(i −1, j) + f(i −1, j +1)+

2 f (i, j −1) + 4 f(i, j) + 2 f(1, j +1)+f (i +1, j −1) + 2 f(i +1, j) + f(i +1, j +1)]

K= −1• 1 g(i, j)= f(i,j +1)− f(i, j)

Page 8: Histograma modificacion

8Procesamiento de Imágenes

Convolución: banda de basura• La máscara “se sale” de la imagen

• Para una máscara n x n con n impar, el tamaño de la banda de basura es: (n-1)/2

– Dejar valores no válidos (basura)– Mejor rellenarla con ceros

Banda de basura

Page 9: Histograma modificacion

9Procesamiento de Imágenes

Suavizado (filtrado de ruidos)• Filtro de media

– Todos los pixeles igual peso

• Filtro binomial– Valores sacados del triángulo de Pascal:

– Píxeles más lejanos, menor peso:

• Para no alterar el brillo medio, se divide por la suma de los valores de la máscara

K3x 3 =19

1 1 11 1 11 1 1

11 1

1 2 11 3 3 1

1 4 6 4 1

B3x3 = 116

1 2 12 4 21 2 1

Page 10: Histograma modificacion

10Procesamiento de Imágenes

Suavizado de la imagen• Filtro Gaussiano

– La constante c se calcula para que los coeficientes sumen 1– A mayor σ, mayor suavizado– Tamaño de la máscara: 5σ - 7σ

• Ejemplo: máscara 5 x 5 para σ = 1

Gσ (i , j) = c ⋅ e−

(i 2 + j 2 )2 σ 2

0.0183 0.0821 0.1353 0.0821 0.01830.0821 0.3679 0.6065 0.3679 0.08210.1353 0.6065 1.0000 0.6065 0.13530.0821 0.3679 0.6065 0.3679 0.08210.0183 0.0821 0.1353 0.0821 0.0183

c = 1/6.1689

Page 11: Histograma modificacion

11Procesamiento de Imágenes

Suavizado de la imagen• Filtrado Gaussiano con σ = 1, 2, 3, 4

Page 12: Histograma modificacion

12Procesamiento de Imágenes

Máscaras separables• Condición: rango(K) = 1

– Filtro binomial:

– Filtro Gaussiano:

)],()([)()],()([)(),(),(),(

)()(),(

jifiKjKjifjKiKjifjiKjig

jKiKjiK

yxxy

xy

∗∗=∗∗=∗=

⋅=

Máscara nxn

Máscara nx1+

Máscara 1xn + Eficiente+ Eficiente

B3x3 =1

16

1 2 12 4 21 2 1

=1

16

121

⋅ 1 2 1

Gσ =1 =1

6.1689

0.13530.60651.00000.60650.1353

⋅ 0.1353 0.6065 1.0000 0.6065 0.1353

Page 13: Histograma modificacion

13Procesamiento de Imágenes

Máscaras separables• Programación eficiente:

• Sólo se necesita una fila intermedia:

),()(),(

),()(),(

)],()([)(),(),(),(

jifjKjig

jifiKjif

jifiKjKjifjiKjig

x

y

yx

′∗=

∗=′

∗∗=∗=

fila i de f’(i,j)Kx

fila i de g(i,j)

Ky fila i de f(i,j)

Page 14: Histograma modificacion

14Procesamiento de Imágenes

Suavizado gaussiano y binomial• Son muy similares, tienen las siguientes propiedades:

– simetría de rotación, filtran por igual en todas las dimensiones– tienen un único lóbulo central, el peso de los pixeles vecinos

disminuye a medida que nos alejamos del centro– el filtro es un paso bajo, su frecuencia de corte está relacionada

con 1/σ, luego a mayor sigma filtra más– son filtros separables– la aplicación en cascada de varios filtros equivale a aplicar una

vez un filtro mayor» aplicar 2 veces un filtro σ equivale a aplicar un filtro » aplicar 2 veces filtro binomial n, equivale al binomial 2n-1

σ2

Page 15: Histograma modificacion

15Procesamiento de Imágenes

Filtro de mediana• Filtro no lineal

– ordenar los nxn vecinos por nivel de gris ascendente– asignar la mediana, esto es, el valor que ocupe la mitad en la

lista ordenada

• Buena eliminación de ruido de sal y pimienta e impulso• Los espurios, (outliers) no tienen ninguna influencia

Page 16: Histograma modificacion

16Procesamiento de Imágenes

Filtro de mediana

0

64

128

192

256

(81,151) (152,151)

0

32

64

96

128

(81,150) (152,150)

0

40

80

120

160

(80,150) (151,150)

Original

Filtro de mediana

Filtro Lineal

Page 17: Histograma modificacion

17Procesamiento de Imágenes

Correlación• Problema: reconocer y localizar una subimagen dentro

de una imagen

Page 18: Histograma modificacion

18Procesamiento de Imágenes

Correlación

• Suma de diferencias cuadráticas SSD:

» Va mal si la iluminación no es uniforme

• Correlación normalizada:

» ρ 1 indica relación lineal entre los niveles de gris: correspondencia

( )∑ −ji

bij

aij WW

,

2

( )( )

( ) ( )∑∑

−−

−−=

ij

aij

aij

ij

bij

bij

ij

bij

bij

aij

aij

WWWW

WWWW

22ρ [ ]1,1−∈ρ

buscadasubimagen

principal.imagen la de NxM subventana b

ij

aij

W

W

Page 19: Histograma modificacion

19Procesamiento de Imágenes

Correlación• Sólo funciona para traslaciones• Para rotaciones:

– Muestrear el ángulo de giro– Interpolación de imágenes para generar el giro sintético

» Elevado costo computacional

• Cambios de escala– Muestrear el cambio de escala– Interpolación de imágenes para generar la nueva escala

» La resolución puede reducirse pero no aumentarse

• Escorzo (foreshortening)– Podría compensarse mediante alabeo de imágenes