procesamiento de imágenes

32
Tema 1.4. Análisis de imágenes digitales - Introducción - Procesamiento básico de imágenes - Histograma y sus aplicaciones - Conceptos generales sobre filtrado - Filtrado en el dominio espacial - Filtrado en el dominio de la frecuencia - Filtros morfológicos Bibliografía BÁSICA: • R.C. González y R.E. Woods, Digital Image Processing, Prentice Hall, 2ª Edición, 2002. (caps. 3 y 4) COMPLEMENTARIA Y OPCIONAL: • G. Pajares y J.M. de la Cruz, Visión por Computador, Ed. Ra-Ma, 2001. (caps. 2 y 6) • M. Sonka et al., Image Processing, Analysis, and Machine Vision, PWS Publishing, 1999. (cap. 4) 3 La imagen digital 2D (conceptos anteriores) Introducción Dispositivo CCD Imagen guardada en el computador en un fichero (TIFF, BMP, JPEG …) Lente • Una imagen digital 2D es una función bidimensional discreta f(x,y) que se compone de un nº finito (N x M) de píxeles (picture elements). • x e y son las coordenadas del plano. f(x,y) es la intensidad o nivel de gris en el píxel de coordenadas (x, y). Muestreo: discretización espacial, pues x e y son finitas y discontinuas. Cuantización: discretización del nivel de gris f(x,y), que toma un valor discreto[0, L-1], donde L = Nº niveles = 2 k (potencia de 2). • Nº de bits para almacenar la imagen digital: b = M x N x k (ej. Imag. de 8 bits:1024x1024x8 = 1Mbyte). y x 4 La imagen digital 2D (conceptos anteriores) 256 colores/canal 3 canales (R, G, B) 8 bpp/canal= 24bpp 256 colores/canal 1 canal (gris) 8 bpp 2 colores/canal 1 canal (gris) 1 bpp • Una imagen digital 2D es una función bidimensional discreta f(x,y) que asocia a cada punto o píxel discreto (muestreado) un valor discreto (cuantizado) de brillo o intensidad correspondiente. Introducción Imagen en color Imagen en niveles de gris ó en escala de grises Imagen binaria ó monocromática Valores: {0,1} Valores: {0,1,2,...,255} [0,255] [0,1] Valores de cada canal: {0,1,2,...,255} [0,255] [0,1] Muestreo: Los valores de la intensidad de cada canal pueden normalizarse al intervalo [0,1]

Upload: christian-alejandro-aldas

Post on 30-Sep-2015

17 views

Category:

Documents


3 download

DESCRIPTION

Procesamiento digital de imágenes

TRANSCRIPT

  • Tema 1.4. Anlisis de imgenes digitales

    - Introduccin- Procesamiento bsico de imgenes- Histograma y sus aplicaciones- Conceptos generales sobre filtrado- Filtrado en el dominio espacial- Filtrado en el dominio de la frecuencia- Filtros morfolgicos

    Bibliografa

    BSICA: R.C. Gonzlez y R.E. Woods, Digital Image

    Processing, Prentice Hall, 2 Edicin, 2002.(caps. 3 y 4)

    COMPLEMENTARIA Y OPCIONAL: G. Pajares y J.M. de la Cruz, Visin por

    Computador, Ed. Ra-Ma, 2001. (caps. 2 y 6) M. Sonka et al., Image Processing, Analysis,

    and Machine Vision, PWS Publishing, 1999.(cap. 4)

    3

    La imagen digital 2D (conceptos anteriores)

    Introduccin

    Dispositivo

    CCD

    Imagen guardada

    en el computador

    en un fichero

    (TIFF, BMP,

    JPEG )

    Lente

    Una imagen digital 2D es una funcin bidimensional discreta f(x,y) que se compone de un n

    finito (N x M) de pxeles (picture elements).

    x e y son las coordenadas del plano.

    f(x,y) es la intensidad o nivel de gris en el pxel de coordenadas (x, y).

    Muestreo: discretizacin espacial, pues x e y son finitas y discontinuas.

    Cuantizacin: discretizacin del nivel de gris f(x,y), que toma un valor discreto [0, L-1],

    donde L = N niveles = 2k (potencia de 2).

    N de bits para almacenar la imagen digital: b = M x N x k (ej. Imag. de 8 bits:1024x1024x8 =

    1Mbyte).

    y

    x

    4

    La imagen digital 2D (conceptos anteriores)

    256 colores/canal

    3 canales (R, G, B)

    8 bpp/canal= 24bpp

    256 colores/canal

    1 canal (gris)

    8 bpp

    2 colores/canal

    1 canal (gris)

    1 bpp

    Una imagen digital 2D es una funcin bidimensional discreta f(x,y) que asocia a cada

    punto o pxel discreto (muestreado) un valor discreto (cuantizado) de brillo o intensidad

    correspondiente.

    Introduccin

    Imagen en color Imagen en niveles de gris

    en escala de grises

    Imagen binaria

    monocromtica

    Valores: {0,1}Valores: {0,1,2,...,255}[0,255] [0,1]

    Valores de cada canal:

    {0,1,2,...,255}

    [0,255] [0,1]

    Muestreo:

    Los valores de la intensidad de cada canal pueden normalizarse al intervalo [0,1]

  • 5Introduccin

    9862

    9000

    1003

    9852

    yx 0 1 2 M-1

    0

    1

    2

    N-1

    F(2,0) = valor de la intensidad o nivel

    de gris del pxel [0,1,2,..,L-1], L>0

    =

    9868

    9060

    1043

    9852

    ),( yxR

    =

    9862

    9000

    1003

    9852

    ),( yxB

    =

    9822

    9920

    1923

    9852

    ),( yxG

    Imagen en niveles de gris NxM: sean (x, y) las coordenadas discretas del dominio

    espacial (coordenadas espaciales), x = 0, 1, 2, .., N-1 e y = 0, 1, 2, .., M-1, siendo

    (0, 0) el origen de coordenadas. La imagen es el array numrico.

    Imagen en color: un pxel posee tres componentes (R, G, B) correspondientes a las

    intensidades de las componentes de color rojo, verde y azul respectivamente.

    Valor de color en el pxel de coordenadas (x0 ,y0) es (R(x0,y0), G(x0,y0), B(x0,y0)).

    El pxel (0, 2) es de color gris, pues sus tres componentes RGB tienen el mismo valor.

    =),( yxf

    La imagen digital 2D (conceptos anteriores)

    6

    Introduccin

    Efecto del muestreo

    espacial

    La imagen digital 2D

    Efecto de la reduccin del n de niveles de intensidad de

    los canales de color (posible efecto de la cuantizacin)

    Procesamiento bsico de imgenes

    Tipos de procesamiento de imgenes segn su objetivo: Mejorar la calidad y/o la apariencia de la imagen original (p.e. realzado,

    restauracin, etc), para ser mejor percibida visualmente por una persona.

    Eliminar informacin de la imagen (no necesaria para el posterior tratamiento de la imagen para ser analizada por una mquina), resaltando otra (p.e. bordes). A este proceso se le denomina filtrado.

    Comprimir la imagen para que ocupe menos memoria sin eliminar la informacin deseada.

    Segmentacin de una imagen: localizar y etiquetar las distintas regiones de inters en la imagen.

    Sntesis de imgenes: crear imgenes sintticas (por medio de un ordenador), de objetos o escenas a partir de otras imgenes, de primitivas geomtricas bsicas, etc. (es el objetivo de los Grficos por Computador, en ingls Computer Graphics).

    Anlisis de imgenes: extraccin de informacin relevante de una

    Tipos de procesamiento de imgenes segn su objetivo

    Aumento del

    contraste

    Realzado (o

    Realce)

    Eliminacin de

    ruido impulsional

    Mejora de la imagen para su visualizacin:

  • 9Restauracin: mejora de imgenes degradadas.

    Tipos de procesamiento de imgenes segn su objetivo

    Filtrado (de los bordes).

    10

    Compresin Sntesis Anlisis

    Tipos de procesamiento de imgenes segn su objetivo

    11

    Procesamiento bsico de imgenes (contina)

    Aumento del contraste

    Eliminacin de ruido

    Mejora de la calidad visual

    Restauracin

    Segmentacin

    Compresin

    Sntesis

    Anlisis

    Tipos de procesamiento segn el resultado que generan:

    La entrada es una imagen y la

    salida es una imagen

    La entrada es una imagen y la salida

    es una descripcin de los objetos

    La entrada es una descripcin de la

    imagen y la salida es una imagen.

    12

    Nivel punto

    Nivel local (o de vecindad)

    Nivel global

    Nivel de objeto

    Procesamiento bsico de imgenes

    Tipos de procesamiento de imgenes

    Segn el mbito del dominio en cada operacin (es decir,

    segn la porcin de la imagen de entrada que se usa para

    calcular cada pxel de la imagen de salida), los operadores

    sobre imgenes pueden utilizar diferentes niveles de

    cmputo:

  • 13

    La intensidad de cada pxel de la imagen de salida se calcula a partir de la intensidad del pxel de la/las imgenes de entrada situado/s en su misma posicin. Ej.:

    Operaciones aritmticas Operaciones lgicas Operaciones geomtricas Operaciones de umbralizacin Transformaciones en el histograma

    fA(x,y) fB(x,y)

    (x,y) (x,y)

    Tipos de procesamiento de imgenes (segn mbito del

    dominio en cada operacin)

    Nivel de punto (pxel a pxel)

    14

    En una operacin a nivel local la intensidad de cada pxel de la imagen resultado depende de la intensidad del pxel situado en su misma posicin en la imagen de entrada y de los vecinos de este. Ejemplos:

    Interpolacin Filtrados mediante mscaras espaciales Filtrados para reducir el ruido

    fA(x,y)fB(x,y)

    (x,y)

    Nivel local o de vecindad de pxel

    Tipos de procesamiento de imgenes (segn mbito del

    dominio en cada operacin)

    Vecindad de un pxel: se pueden considerar distintas vecindades.

    4-vecinos: vecindad de un pxel p(x,y) dada por sus 2 vecinos en su horizontal y sus 2 vecinos en su vertical (excepto si esten el borde de la imagen), de coordenadas: (x+1, y), (x-1, y), (x, y+1), (x, y-1).

    8-vecinos: adems se consideran los cuatro vecinos de las diagonales de coordenadas (x+1, y+1), (x+1, y-1), (x-1,y+1), (x-1,y-1). py

    x

    4-vecinos de p (en azul), conjunto

    denominado N4(p)

    py

    x

    Los 8-vecinos de p (en azul) se denotan

    por N8(p)

    Nivel local o de vecindad de pxel (contina)

    Tipos de procesamiento de imgenes (segn mbito del

    dominio en cada operacin)

    16

    Existen ciertos operadores de nivel global que hacen

    corresponder a cada pxel de la imagen resultado, un valor

    que depende de toda la imagen de entrada

    Ejemplos: la transformada de Fourier.

    fA(x,y) fB(x,y)

    (x,y)

    Nivel global

    Tipos de procesamiento de imgenes (segn mbito del

    dominio en cada operacin)

  • 17

    Se procesan los pxeles de un objeto de la imagen para obtener

    un valor (caracterstica del objeto).

    Ejemplos:

    clculo del tamao, la forma, la media de intensidad y otras

    caractersticas de un objeto tiles para reconocerlo.

    clculo de caractersticas del movimiento de un objeto (p.e.

    direccin) en una secuencia de vdeo analizando slo las

    zonas de movimiento.

    Nivel de objeto

    Tipos de procesamiento de imgenes (segn mbito del

    dominio en cada operacin)

    Procesamiento bsico de imgenes

    Operaciones aritmticas entre imgenes Se llevan a cabo pxel a pxel entre los correspondientes pxeles de las

    imgenes. Las imgenes operandos y resultado son del mismo tamao (MxN) Para evitar los problemas de desbordamiento se reescala el

    resultado Operacin Ejemplos de usoSuma: s(x,y) = f(x,y) + g(x,y) - Superposicin de una imagen en

    otra.- Reduccin del ruido de la imagen mediante la media de varias imgenes.

    Resta: d(x,y) = f(x,y) - g(x,y) - Estudio del movimiento (entre imgenes consecutivas de una secuencia) mediante diferencias entre imgenes

    Multiplicacin:

    p(x,y) = f(x,y) g(x,y) - Correccin del sombreado

    Procesamiento bsico de imgenes

    Operaciones aritmticas entre imgenes: aplicaciones

    Reduccin del ruido usando la media de varias imgenes

    Sea g(x,y) una imagen ruidosa resultado de la adicin de ruido (x,y) a una imagen

    sin ruido f(x,y): g(x,y) = f(x,y) + (x,y)

    donde cada par de coordenadas (x,y) tiene ruido no correlado y por tanto el promedio

    de los valores de ruido de un pxel en las distintas imgenes es cero. Este tipo de

    ruido puede reducirse promediando un conjunto de k diferentes imgenes ruidosas

    {gi(x,y)} de la misma escena:

    donde aproxima a f(x,y).

    =

    =

    k

    i

    i yxgk

    yxg1

    ),(1

    ),(

    ),( yxg

    Procesamiento bsico de imgenes

    Operaciones aritmticas entre imgenes: aplicaciones

    Diferencias entre imgenes. Para analizar las diferencias de vegetacin, caudal

    de los ros, zonas edificadas, etc en dos imgenes satlite tomadas en distintos aos se

    realiza la resta de las imgenes.

    Correccin del sombreado: es posible eliminar el efecto de un sombreado

    multiplicando o dividiendo una imagen por un n de veces una funcin de sombreado

    f(x,y) imagen

    corregida

    h(x,y) funcin de

    sombreado

    g(x,y) imagen

    original (sombreada)

    g(x,y)= f(x,y)h(x,y)Si h es conocida, podemos

    obtener f multiplicando la

    imagen original por la inversa

    de h (dividiendo g por h)

  • Procesamiento bsico de imgenes

    Operaciones aritmticas entre imgenes: aplicaciones

    Enmascarar una regin de inters:

    Multiplicar una imagen por una imagen mscara que tiene 1s en la

    regin de inters y 0s en el resto.

    Una operacin aritmtica puede producir desbordamiento. Ej.: Valores de la diferencia entre 2 imgenes 8-bits/pixel: [-255, +255] Valores de la suma de 2 imgenes 8-bits/pixel: [0, 510]

    Para obtener una imagen de 8-bits/pixel:Sea f una imagen resultado de una operacin aritmtica. 1) Calculamos fm (cuyo valor mnimo es 0):

    fm= f-min(f)2) Reescalamos los pxeles de la imagen al rango [0,K] (p.e. para

    obtener una imagen de 8 bits [0,255], K = 255).fs= K[fm /max(fm)]

    Procesamiento bsico de imgenes

    Operaciones aritmticas entre imgenes: reescalado de valores de pxeles

    Procesamiento bsico de imgenes

    Operaciones lgicas: Aplicables a imgenes binarias (que pueden

    obtenerse mediante umbralizacin de una imagen de grises)

    Podemos pensar que los objetos (foreground) corresponden a los pxeles 1 (blancos) y que el fondo (background) corresponde a los pxeles 0 (negros).

    Tipos: not, or, and, xor Operaciones relacionales: , , , max, min, ... Aplicaciones: uso en imgenes binarias como

    mscaras para deteccin de caractersticas y para

    Procesamiento bsico de imgenes Ejemplos de operaciones aritmticas y

    lgicas sobre imgenes en niveles de gris.

    A

    B

    NOT(A) A or B A xor B

    A and B (A+B)/2

    No es binaria

    max(0,A-B) (A)and [not(b)]

    Los pxeles negros (menor intensidad) corresponden al nivel de gris 0 y los

    pxeles blancos (mayor intensidad) al 255.

  • Procesamiento bsico de imgenes Operaciones geomtricas:

    Modifican las relaciones espaciales entre pxeles de una imagen. Tipos: traslacin, escalado y rotacin. Aplicaciones: rotacin de documentos escaneados, rotacin de cdigos

    de barras, rotacin de caracteres en OCR, etc Consisten en:

    1) Una transformacin espacial de las coordenadas (x,y) = T(x,y), donde (x,y) son las coordenadas en la imagen original y (x,y) son las coordenadas en despus de la transformacin.

    2) A veces es necesaria una interpolacin posterior de la intensidad que asigne los valores transformados a pxeles:

    (x, y) son ns reales mientras que la imagen de salida tiene pxeles con coordenadas enteras. Hay que interpolar la intensidad de los pxeles de la imagen resultado.

    Para expresar las transformaciones en forma matricial se usan coordenadas homogneas (x, y, 1).

    Procesamiento bsico de imgenes Matrices de transformaciones geomtricas:

    =

    1100

    00

    00

    1

    '

    '

    y

    x

    s

    s

    y

    x

    y

    x

    =

    1100

    10

    01

    1

    '

    '

    y

    x

    d

    d

    y

    x

    y

    x

    =

    1100

    0)cos()sen(

    0)sen()cos(

    1

    '

    '

    y

    x

    y

    x

    Traslacin Escalado

    Si sx , sy> 1 =>

    ampliacin o

    zoom.

    Si sx , sy

    reduccin

    Rotacin alrededor

    del origen de

    coordenadas en un

    ngulo .

    Procesamiento bsico de imgenes

    Ejemplo de rotacin. (a) imagen original que se desea rotar entorno al punto P de coordenadas (x,y).

    (b) resultado de la primera traslacin. (c) resultado del giro. (d) resultado final de la tranf. P = F.P

    (-x,-y) (x,y)

    (a) (b) (c) (d)

    P

    Composicin de transformaciones geomtricas.Tx,y R T-x,-y =F

    +

    =

    100

    )())cos(1()cos()(

    )())cos(1()()cos(

    100

    10

    01

    100

    0)cos()(

    0)()cos(

    100

    10

    01

    xsenysen

    ysenxsen

    -y

    -x

    sen

    sen

    y

    x

    Orden de aplicacin: 3 2 1

    Interpolacin- A veces es precisa, p.e. en el zoom (donde hay que

    recalcular nuevos pxeles) y en la reduccin del tamao de la imagen (para obtener mejor calidad aprovechando todos los pxeles originales).

    - Se usan los datos conocidos para calcular los datos en las nuevas posiciones de la imagen

    Interpolacinzoom

    Procesamiento bsico de imgenes

  • Tipos de interpolacin:- Vecino ms cercano: se repite el pxel ms cercano- Interpolacin lineal: considera los 4 pxeles ms cercanos al

    pxel a interpolar. Se obtiene un promedio entre estos 4 puntos para llegar a un valor interpolado. La imagen resultante es ms suave que la del vecino ms cercano. Puede causar que la imagen se vea un tanto difusa.

    - Otras (que no entran en esta asignatura): Interpolacin bilineal: el valor de intensidad a calcular v(x,y)

    se obtiene mediante v(x,y) = ax+by+cxy+d donde los 4 coeficientes a, b, c, d se calculan con un sistema de estas 4 ecuaciones evaluadas en los cuatro vecinos ms cercanos conocidos.

    Interpolacin bicbica: considera los 16 pxeles ms cercanos al pxel (x,y) a interpolar. Se aproxima localmente el nivel de

    Procesamiento bsico de imgenes

    Interpolacin

    original Zoom con interpolacin usando el

    valor de un vecino ms cercano

    (produce bordes rectos indeseados)

    Zoom con interpolacin lineal

    Interpolacin

    Procesamiento bsico de imgenes

    Transformaciones del histograma El histograma h(rk) de una imagen digital con niveles de gris en el rango [0,..L-1]

    es una funcin discreta 1D que a cada nivel de gris posible rk (k = 0,..,L-1) le asigna el n de pxeles nk existentes en la imagen con ese nivel de gris:

    h(rk)=nk

    Puede normalizarse dividiendo cada valor nk por NxM (tamao de la imagen) para indicar la probabilidad (P[0,1]) de cada intensidad en la imagen: P(rk )= nk /(MxN)

    Es una herramienta fundamental para el anlisis de imgenes, pues condensa informacin sobre la imagen (aunque pierde su localizacin espacial).

    La manipulacin del histograma es sencilla y eficiente.

    0 (negro) Niveles de gris 255 (blanco)

    200 puntos

    Definiciones Rango dinmico: conjunto de valores de intensidad presentes en

    la imagen, que va desde la intensidad mnima a la mxima.

    Contraste: diferencia en intensidades entre el mximo valor de intensidad presente en la imagen y el mnimo. A mayor rango dinmico, la imagen tiene ms contraste.

    Transformaciones del histograma

  • Transformaciones del histograma

    Transformaciones del histograma: (a) imagen original y su histograma; (b) resultado de

    una operacin de disminucin de contraste; (c) resultado de aumentar el contraste.

    (b)

    (a)

    (c)

    Umbralizacin (thresholding en ingls): A cada pxel de la imagen de entrada se le otorga un 0 (negro)

    un 1 (blanco) en la imagen de salida. Permite crear una imagen binaria a partir de una imagen de grises usando un umbral U.

    B(i,j) = 1, si I(i,j) UB(i,j) = 0, si I(i,j) < U

    El anlisis del histograma puede informarnos dnde tomar el umbral (p.e. en un mnimo)

    U =127

    Transformaciones del histograma

    35

    Umbralizacin.

    Transformaciones del histograma

    Funciones de transferencia Algunas de las transformaciones del histograma a nivel de

    punto pueden expresarse mediante una funcin de transferencia 1D que a cada valor de intensidad de la imagen de entrada le asigna el nuevo valor de salida.

    Las funciones de transferencia corresponden a curvas acotadas entre 0 y 1 en abscisa y ordenada. Ejemplo:

    I(x,y) = T[I(x,y)]

    Transformaciones del histograma

    I: Imagen de salida

    (umbralizada)

    I: Imagen

    de entradaT: Funcin de

    transferencia

    T: Funcin de

    transferencia

    U I(x,y)0 1

    1

    T[I(x,y)]

    oscuros claros

    T: Funcin de transferencia

  • Funciones de transferencia

    Transformaciones del histograma

    0 0.5 1

    1

    0.5

    0

    0 0.5 1

    1

    0.5

    0

    0 0.5 1

    1

    0.5

    0

    Cuadrado (Oscurece) Raz cuadrada Lineal(I=I)

    Cada nivel de gris normalizado entre [0, 1] (eje horizontal) se transformar en otro

    nivel de gris resultante (eje vertical).

    Se implementan mediante tablas de consulta (Look-Up Tables, LUT en ingls)

    (Aclara)

    Color de entrada

    0

    .

    i.

    L-1

    Color de salida

    Transformaciones del histograma

    Funcin logartmica: Bajos valores de intensidad (oscuros) se

    transforman en valores claros. Comprime el rango de intensidades bajas,

    y la inversa del logaritmo lo expande.

    I T I

    I(x,y) = c log(1+I(x,y)) , c = L/log(1+L)

    Funciones de transferencia

    Transformaciones del histograma

    Funcin cuadrtican>1 (potencia): Aumenta el contraste. Variando n se obtienen distintas curvas.

    n un estrecho rango de claros es mapeado en un amplio

    rango de valores.

    I(x,y) = c I(x,y)n ; c=1/L

    Funciones de transferencia

    n>1

    n

  • Transformaciones del histograma

    Funcin Sigmoidal: Atenuacin de valores medios

    9,0,2

    1),(tan

    2tan

    11

    2),(' =

    += pi

    pi

    L

    yxILyxI

    Funciones de transferencia

    Transformaciones del histograma

    Amplitud de escala: aumento del rango dinmico

    =

    minmax

    min),(),('

    yxILyxI

    Funciones de transferencia

    Imagen negativa o inversa de una imagen:La imagen negativa I de una imagen I con niveles de intensidad en el rango [0, L-1]

    se puede calcular tambin mediante la operacin resta: I(x,y) = L -1 I(x,y)

    I(x,y) = T[I(x,y)]T: funcin de transferencia

    I: Imagen de entrada

    I: Imagen de salida

    T[I(x,y)]

    I(x,y)0 255

    255

    Transformaciones del histograma

    44

    N

    pxeles

    0 Niveles de gris 255

    N

    pxeles

    0 Niveles de gris 255.

    Transformaciones del histograma

    Realzado mediante equalizacin del histograma: asigna a cada color de la escala, el mismo nmero de pxeles (en la medida de lo posible), lo que mejora la

    apariencia visual de la imagen aumentando el detalle, el contraste y el rango dinmico.

  • Ecualizacin del histograma Consisten en obtener un nuevo histograma a partir del original, con una

    distribucin uniforme de los diferentes niveles de intensidad, es decir, unnmero de pxeles igual para cada color.

    No aumenta la informacin de la imagen. Para que la ecualizacin sea til toda la imagen debe reunir las mismas

    propiedades (imagen clara u oscura), en caso contrario, conviene realizar la ecualizacin por ventanas.

    Transformaciones del histograma

    Ecualizacin del histograma: ejemploTransformaciones del histograma

    1 2 03 3 35 4 57 7 73 7 7Imagen

    original0 1 2 3 4 5 6 7

    Histograma original

    Niveles originales

    Niveles originales

    normalizados

    Frecuencias absolutas

    de los niveles

    Frecuencias relativas de los niveles

    Frecuencias relativas

    acumuladas y nivel original normalizado ms prximo

    Valor ecualizado

    (nivel original corresp. al

    normalizado anterior)

    0 0/7 = 0 1 1/15 = 0,06 0,06 ~ 0 0

    1 1/7 = 0,14 1 1/15 =0,06 0,12 ~ 0,14 1

    2 2/7 = 0,28 1 1/15 = 0,06 0,18 ~ 0,14 1

    3 3/7=0,42 4 4/15 = 0,26 0,44 ~ 0,42 3

    4 4/7 = 0,57 1 1/15 = 0,06 0,5 ~ 0,57 4

    5 5/7=0,71 2 2/15 = 0,13 0,63 ~ 0,57 4

    6 6/7=0,85 0 0/15 =0 0,63 ~ 0,57 4

    7 7/7=1 5 5/15 = 0,33 0,96 ~ 1 7

    1 1 03 3 34 4 47 7 73 7 7Imagen

    ecualizada0 1 2 3 4 5 6 7

    Histograma ecualizado

    Filtrado en el dominio espacial Transformacin de una seal de entrada (imagen I) a la que se le aplica una

    funcin de transferencia T (o filtro) en la vecindad de cada pxel, para obtener una seal de salida (imagen O).

    Las seales y las funciones de transferencia pueden ser discretas o continuas, aunque en el tratamiento de imgenes se usan seales y funciones discretas.

    Operar en el dominio espacial es operar directamente con los valores de intensidad de los pxeles de la imagen.

    Los filtros espaciales pueden ser lineales o no lineales. Los lineales pueden expresarse con una mscara espacial y se aplican

    mediante una operacin de convolucin (*).

    I O

    T(filtro discreto)

    Filtrado en el dominio espacial

    Filtro lineal: Mscara espacial MxN: Ejemplo:

    Esta operacin de la imagen con la mscara se denomina convolucin ( * ) y se expresa as de forma general:

    1 2 3

    4 5 6

    7 8 9

    Mscara 3x3

    z1 z2 z3

    z4 z5 z6

    z7 z8 z9

    Pxeles de la imagen I:

    =

    =+++=mn

    k

    kkmnmn zzzzR1

    2211 ... Respuesta en la posicin del pxel =

    ),().,(),(*),(),('2

    2

    2

    2

    jyixTjiIyxTyxIyxI

    N

    Ni

    N

    Nj

    == = =

  • Filtrado en el dominio espacialFiltrado lineal con mscara espacial: Consiste en aplicar en cada pxel I(x,y) la mscara espacial y mediante convolucin, a partir de su vecindad y de la mscara, calcular el pxel O(x,y) respuesta al filtro. Se aplica en cada posicin de la imagen I, de izquierda a derecha y de arriba abajo. En el borde de la imagen hay que adoptar algn convenio, pues no se puede aplicar la mscara. La carga computacional de esta operacin se reduce usando una mscara con un nmero de elementos muy inferior al tamao de la imagen.

    x

    y

    Filtrado en el dominio espacial Filtro espacial paso bajo.

    El filtrado espacial lineal paso bajo sustituye cada pxel por el promedio de intensidades de su vecindad centrada l.

    El filtro paso bajo ms simple que se puede disear es una matriz de 3x3 con todos los elementos a 1.

    Respuesta: suaviza la imagen reduciendo las transiciones agudas de intensidad, reduce el ruido y elimina pequeos detalles (de tamao menor que el filtro, p.e. ruido u otros irrelevantes para la etapa de segmentacin). Tambin aumenta la borrosidad de la imagen.

    9

    1

    9

    1 9

    1

    9

    1

    =

    === ==

    k

    k

    kk

    k

    k zzRrespuesta

    111

    111

    111

    9

    1Mscara =

    Otros filtros espaciales paso bajo: Filtro GaussianoBasado en la funcin Gaussiana continua de dos variables (2D) :

    , donde es la desviacin estndar.

    Posee forma de campana (campana de Gauss). Filtros Gaussianos: parecido al clculo de la media, pero dando ms peso

    (importancia) a los pxeles segn su distancia al centro.

    Respuesta: produce una imagen menos borrosa. El emborronamiento depende de (dimetro de la campana). Suavizan, eliminan ruido.

    Filtrado en el dominio espacial

    =

    111

    121

    111

    10

    1h

    =

    121

    242

    121

    16

    1h

    eyx

    yxh 222

    2),( +

    =

    Filtrado en el dominio espacial

    Filtrado Gaussiano

    (Ntese cmo no se

    aplica en los bordes)

    A medida que

    aumenta el tamao

    del filtro:

    Representacin ms

    gruesa de los objetos

    de inters,

    desaparicin de ms

    detalles pequeos

  • Filtrado en el dominio espacial

    Filtrado Gaussiano

    Filtros no lineales No consisten en una suma de productos (mscara lineal). La

    transformacin no se realiza por convolucin de una mscara.

    Filtro de mediana: Sustituye cada pxel por el valor central (mediana) de las intensidades

    de la vecindad. Para ello, se ordenan nxm intensidades de la vecindad de mayor a menor y se toma el valor central.

    til para eliminar el ruido aleatorio sin emborronar la imagen. Muy efectivo para el ruido impulsional (salt-and-pepper) consistente en

    puntos aislados blancos y negros cuyo rea es menor que m2/2 (la mitad del tamao de la vecindad).

    Ejemplo 1: Sea una vecindad 3x3: la mediana es el 5 mayor valor. Ejemplo 2: Sea una vecindad 5x5: la mediana es el 13 valor mayor. Ejemplo 3: Sean los valores de una vecindad (10,20,20,0,15, 20, 20,

    25,100). Valores ordenados: (0,10,15, 20,20,20,20,25,100).

    Filtrado en el dominio espacial

    Filtrado en el dominio espacial

    Filtro de mediana56

    Ruido impulsional (o Salt and Pepper): el valor del pxel no tiene relacin con el valor ideal sino con el valor de ruido que toma valores muy altos o bajos.

    Ruido Impulsional Eliminacin del ruido

    Filtrado en el dominio espacial

  • Filtrado en el dominio espacial Filtro espacial paso alto.

    El filtrado espacial lineal paso alto se usa para resaltar el detalle fino de la imagen, las transiciones en la intensidad, realzando los bordes.

    El detalle (informacin) de una imagen est en los bordes (valores de altas frecuencias) que son aquellos pxeles alrededor de los cuales la imagen presenta una variacin brusca en los niveles de gris.

    Las derivadas (primera y segunda) de una imagen I(x,y) informan de cmo se producen los cambios de intensidad en la misma.

    Sea una seccin 1D horizontal de una imagen:6 6 6 6 5 4 3 2 1 1 1 1 1 1 6 6 6 6 6

    6

    x

    rampa escaln6

    5

    4

    3

    2

    1

    0

    Intensidad

    Derivada primera: Cero en reas de intensidad constante Distinta de cero en el comienzo de escalones y rampas Distinta de cero a lo largo de las rampas Una definicin bsica: (idem para la direccin

    vertical)

    Imagen (perfil de

    intensidad)

    0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 5 0 0 0 0Derivada primera

    Filtrado en el dominio espacial

    Filtro espacial paso alto.

    6 6 6 6 5 4 3 2 1 1 1 1 1 1 6 6 6 6 6 x

    rampa escaln6

    5

    4

    3

    2

    1

    0

    Intensidad

    5

    3

    1

    -1

    -3

    -5

    Comienzo rampa

    Final rampa Comienzo escaln

    Final escaln

    )()1( xfxfx

    f+=

    Transiciones rampa => bordes gruesos; Transiciones escaln => bordes finos

    Derivada segunda: Cero en reas de intensidad constante

    Distinta de cero en el comienzo y en el final de escalones y rampas

    Cero a lo largo de rampas de pendiente constante

    Una definicin:

    xImagen (perfil de

    intensidad)

    0 0 0 -1 -1 -1 -1 -1 0 0 0 0 0 5 0 0 0 0

    0 0 -1 0 0 0 0 1 0 0 0 0 5 -5 0 0 0

    Derivada primera

    Derivada segunda

    Filtrado en el dominio espacial

    Filtro espacial paso alto.

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

    )(2)1()1(2

    2

    xfxfxfx

    f++=

    5

    3

    1

    -1

    -3

    -5

    Paso por cero => dos

    bordes de 1 pxel con

    un paso por cero =>

    realza el detalle fino

    La respuesta del operador derivada es proporcional a la variacin de la intensidad en el punto donde el operador se aplica.

    Primera derivada: operador gradiente.

    Segunda derivada: operador laplaciana.

    Filtrado en el dominio espacial

    yx uy

    Iu

    x

    IyxI

    rr

    +

    = )),((

    yx uy

    Iu

    x

    IyxIyxI

    rr

    2

    2

    2

    22 )),(()),((

    +

    ==

  • Filtrado en el dominio espacial Filtro espacial paso alto: operadores de primera

    derivada. El gradiente de una imagen I(x,y) en un punto (x,y) se define

    como un vector bidimensional apuntando en la direccin de variacin mxima de I en (x,y). La magnitud del vector (I(x,y))es:

    y su direccin es (perpendicular al borde):

    - Mscara 33 para operador de Sobel a lo largo de las direcciones vertical (x) y horizontal (y) para calcular los bordes horizontales y verticales respectivamente :

    |||||| 22 yxyx ++=

    =

    x

    ytanyx

    1),(

    =121

    000

    121

    x

    =101

    202

    101

    y

    Filtrado en el dominio espacial

    Gradiente

    Filtrado en el dominio espacial (VI) Filtro de Sobel en la direccin y (abcisa): bordes

    verticales

    Otros filtros basados en el gradiente:

    Prewitt:

    Roberts:

    =10

    01x

    =01

    10y

    =111

    000

    111

    x

    =101

    202

    101

    y

    =101

    101

    101

    y

    Filtrado en el dominio espacial (VII) Filtro espacial paso alto: operadores de segunda

    derivada. La laplaciana es la segunda derivada de una funcin y tambin

    puede implementarse de diferentes formas. Este operador se hace cero cuando hay un mximo en la primera

    derivada. Son filtros isotrpicos: la respuesta es independiente de la

    direccin de las discontinuidades (invariante ante rotaciones) . El requerimiento bsico al definir la laplaciana de forma digital es

    que el coeficiente asociado con el pxel central sea negativo (o positivo) y los asociados con otros pxeles sean de signo contrario.

    Implementaciones:

    (son filtros isotrpicos para rotaciones de 45, por tanto no es

    (4-vecinos) (8-vecinos)

    010

    141

    010

    111

    181

    111

  • Laplaciana: Su magnitud produce dos respuestas para cada borde. Su signo determina si un pixel est en el lado claro u oscuro del

    borde.

    Filtrado en el dominio espacial

    Detectores de bordes Los bordes son caractersticas

    importantes, pues delimitan objetos. Un borde (o contorno) es un conjunto

    de puntos en los cuales la intensidad de la imagen varia rpidamente.

    Se pueden detectar usando las derivadas de la imagen

    En la prctica los bordes son ms parecidos a una rampa de niveles que a un escaln, porque el proceso de adquisicin suaviza las transiciones.

    Dos mtodos de deteccin de bordes: Buscar mximos de la primera

    derivada (gradiente) Buscar cruces por cero de la

    segunda derivada (Laplaciano)

    Filtrado en el dominio espacial

    Deteccin de bordes: Laplaciano de Gaussiana (LoG)

    Para calcular los bordes en una Imagen I con ruido:1 Aplicar un filtro Gaussiano G para eliminar el ruido y suavizar la imagen +

    2 Aplicar un filtro Laplaciano L para detectar los bordes (cruces por cero)

    Filtrado en el dominio espacial

    LoG

    Angiograma

    de aorta

    Gradiente

    Sobel

    Gaussiana

    = 5

    Operador

    Laplaciano

    LoG Bordes

  • Realzado de imgenes usando la Laplaciana

    Filtrado en el dominio espacial

    g(x, y) = f(x,y) + c[2 f(x,y)] (se suma/sustrae a la imagen original su laplaciana)f(x,y) = imagen original;

    g(x,y) = imagen resaltando bordes y discontinuidades

    c = -1 si el centro de la laplaciana < 0 y el resto >=0

    c = 1 si el centro de la laplaciana es >0 y el resto

  • Filtros morfolgicos Morfologa binaria

    El objetivo de las transformaciones morfolgicos es la extraccin de estructuras geomtricas en los conjuntos sobre los que se opera, mediante la utilizacin de otro conjunto de forma conocida, al que se le denomina elemento estructurante.

    El tamao y forma del elemento estructurante se elige, a priori, de acuerdo con la morfologa sobre la que va a interseccionar y en funcin de la obtencin de formas que se desea extraer.

    Erosin: operacin en un conjunto A usando un elemento estructurante B: Crear un nuevo conjunto moviendo B sobre A tal que

    el origen de B visite todos los elementos de A y en cada localizacin, si B est contenido en A marcamos esa localizacin como un miembro del nuevo conjunto resultado y si no, no es miembro del nuevo conjunto.

    El resultado de estas operaciones depende del ES elegido.

    Filtros morfolgicos Morfologa binaria: operaciones bsicas

    Filtros morfolgicos Morfologa binaria: operaciones bsicas

    Erosin. Sean A y B dos conjuntos en Z2, la erosin de A por B, denotada como AB, se define como el conjunto de puntos z tales que B trasladado a z estcontenido en A:

    AB = {z / (B)z A}

    Aplicaciones: adelgazamiento de objetos, separacin de objetos unidos por conexiones pequeas (p.e. letras en un texto, barras de un cdigo de barras) eliminacin de objetos de menor tamao que

    A B

    A B

    Ejemplo de erosin usando matlab

    im=imread('rice.png');

    th=graythreshold(imgEnt);

    imBW=im2BW(im, th);

    se = strel('disk',2);

    imEroBW = imerode(imBW,se);

  • Filtros morfolgicos Morfologa binaria: operaciones bsicas

    Dilatacin. Sean A y B dos conjuntos en Z2, la dilatacin de A por B, denotada como AB, se define:

    A B = {z / (B)z A }El elemento B es el elemento que dilata a A, y se conoce como elemento estructurante de la dilatacin.Ejemplo:

    Aplicacin: engordar objetos, p.e. convertir texto en negrita, unir bordes, etc

    A

    BA B

    Ejemplo usando Matlab

    im=imread('coins.png'); th=graythresh(im);

    imBW=imBW(im, th);

    se = strel('disk',5);

    imDilBW = imdilate(imBW,se);

    imshow([imBW,imDilBW]);

    Filtros morfolgicos Morfologa binaria: operaciones bsicas

    Apertura. Se define como: A B = (A B) B(elimina objetos de tamao menor que B, elimina ruido)

    Cierre. Se define como: A B = (A B) B

    Ejemplo de aplicacin:(A B ) B

    una vez eliminado ruido conla apertura, el proceso de cierreintenta recuperar una forma similar a la original.

    A B

    A B

    A B

    Filtros morfolgicos Morfologa binaria: operaciones bsicas

  • Filtros morfolgicos Morfologa binaria: operaciones bsicas

    Ejemplos (Imagen de Lena con elemento estructurante de 33):

    Imagen binaria Dilatacin Erosin

    Apertura Cierre

    Ejemplo de dilatacin y erosin en imgenes en niveles de gris

    usando Matlab

    im=imread(cameraman.tif');

    se = strel('disk',3);

    imDilG = imdilate(im,se);

    imEroG = imerode(im,se);

    imshow([im,imDilG, imEroG]);

    Ejemplo de Apertura y cierre en imgenes en niveles de gris usando

    Matlab

    im=imread('rice.png');

    th=graythres(im);

    imBW=im2BW(im, th);

    se = strel('disk',2);

    imEroBW = imerode(imBW,se);

    imOpenBW = imopen(imBW,se);

    imshow([imBW,imEroBW, imOpenBW]);

    Ejemplo de Apertura y cierre en imgenes en niveles de gris usando

    Matlab

    im=imread('rice.png');

    th=graythres(im);

    imBW=im2BW(im, th);

    se = strel('disk',3);

    imDilBW = imdilate(imBW,se);

    imCloseBW = imclose(imBW,se);

    imshow([imBW,imDilBW, imCloseBW]);

  • Ejemplo de Apertura y cierre en imgenes en niveles de gris usando

    Matlab

    im=imread(cameraman.tif');

    se = strel('disk',3);

    imOpenG = imopen(im,se);

    imCloseG = imclose(im,se);

    imshow([im, imOpenG, imCloseG]);

    Filtrado en el dominio de la frecuencia: se transforma la imagen al dominio de la frecuencia (u,v), se filtra y posteriormente se realiza la transformada inversa de la imagen filtrada para devolverla al dominio

    Ejemplo: Filtrado de los bordes

    Filtrado en el dominio espacial (regin del plano donde se halla la imagen):

    manipulacin de los valores de los pxeles de la imagen en el plano (x,y)

    directamente, y suelen ser ms rpidos.

    Filtrado en el dominio de la frecuencia

    Filtrado en el dominio de la frecuencia Las representaciones en el dominio de la frecuencia, en

    base a explicar cmo se repiten los pxeles de una imagen, consiguen representar la informacin de tal imagen.

    Esta representacin es especialmente til, ya que teniendo la frecuencia de repeticin de los elementos que componen una imagen, se pueden apreciar y alterar directamente elementos como el ruido, los bordes, las texturas, etc.

    Transformadas en el dominio de la frecuencia usadas en tratamiento de imgenes: Transformada de Fourier (funciones base: senos y

    cosenos) Transformada del coseno (funciones base: cosenos) Transformadas wavelet (funciones base: Haar, Daubechies,...)

    Filtrado en el dominio de la frecuenciaSeries de Fourier.

    Toda funcin peridica puede representarse como una suma de senos y

    cosenos con diferentes perodos y amplitudes.

    Las sumas de un conjunto de funciones senos y cosenos de diferentes

    frecuencias, pesados por unos coeficientes que aproximan a funciones, se

    denominan series de Fourier.

    El conjunto de senos y cosenos, constituye una base de funciones en el

    dominio de la frecuencia (existen otras bases p.e. cosenos, wavelets etc).

    La transformada de Fourier de una funcin f(x) es una extensin de las

    series de Fourier a seales no peridicas.

    Las funciones no peridicas cuyo rea bajo la curva es finito pueden

    considerarse peridicas con perodo N (ancho de la imagen) y expresarse

    como una integral de senos y cosenos multiplicados por una funcin de pesos.

    Una funcin expresada mediante SF TF puede reconstruirse sin prdida de

    informacin (completamente) por el proceso inverso.

    =

    ++=1

    000 )sencos()(k

    kk xkbxkaaxf

  • Filtrado en el dominio de la frecuencia (IV)Desarrollo de una funcin en series de

    Fourier.

    La transformada de Fourier de una funcin continua e integrable de una variable real x se define por

    La transformada de una funcin real es una funcin compleja.

    La inversa de la transformada se define como:

    Es posible trabajar en el dominio de Fourier y volver al dominio espacial sin perder informacin.

    Filtrado en el dominio de la frecuencia

    Transformada de Fourier de una funcin continua 1D

    = dxexfuF uxj pi2)()(

    = dueuFxf uxj pi2)()(

    (transformada

    directa)

    (transformada

    inversa)

    Filtrado en el dominio de la frecuenciaTransformada discreta de Fourier.

    Una seal discreta o muestreada es aqulla constituida por un conjunto finito de valores: F = {f(0), f(1), ... f(N-1)}.

    Modificaciones con respecto a la transformada continua:1) Integrales por sumatorios.2) Cambio de variable sobre los coeficientes (an, bn),

    para que la funcin se defina en un intervalo general [0,N-1] en vez de en el intervalo: [-, ].

    3) Se puede utilizar la frmula de Euler:ej = cos + j sen

    a fin de encontrar una notacin ms compacta, transformado el coeficiente (an, bn) en un nmero complejo.

    Filtrado en el dominio de la frecuenciaTransformada discreta de Fourier 1D.

    Para una seal temporal f(x) la transformada discreta de Fourier es:

    siendo u la frecuencia de la seal transformada. Se ha pasado de tener una seal discreta en el

    dominio espacial: f = {f(0), f(1), ... f(N-1)}, a tener una seal discreta en el de la frecuencia: F = {F(0) ,F(1), ..., F(N-1)}.

    Transformada discreta inversa de Fourier:

    =

    =

    1

    0

    2

    )(1

    )(N

    x

    uxN

    j

    exfN

    uF

    pi

    1,...,1,0 = Nu

    =

    =

    1

    0

    2

    )()(N

    u

    uxN

    j

    euFxf

    pi

    1,...,1,0 = Nx

  • Transformada directa: Sea f(x,y) una imagen digital MxN , tal que x=0,1,...,M-1 e y=0,1,...,N-1 y f(x,y) toma valores discretos representando el nivel de gris del pxel (x,y). La transformada discreta de Fourier de la imagen consiste en una funcin F(u,v) que se evala para todos los valores de las variables discretas u y v en los rangos u=0,1,...,M-1 y v=0,1,...,N-1:

    Transformada inversa: dada la TF F(u,v) podemos obtener la TF discreta inversa para x = 0,..M-1 e y = 0, ..,N-1:

    Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes 2D

    =

    =

    +==

    1

    0

    1

    0

    )(2

    ),(1

    )),((),(M

    x

    N

    y

    N

    vy

    M

    uxj

    eyxfMN

    yxfvuFpi

    =

    =

    +

    ==1

    0

    1

    0

    )(21 ),()),((),(

    M

    u

    N

    v

    N

    vy

    M

    uxj

    evuFvuFyxfpi

    La transformada de Fourier de una funcin real es una funcin compleja:F(u,v)=R(u,v)+iI(u,v), donde R(u,v) e I(u,v) son la parte real e imaginaria de F(u,v).

    u,v son las variables de frecuencia en las direcciones horizontal y vertical.

    El mdulo de F(u,v), |F(u,v)|= (R(u,v)2+ I(u,v)2)1/2 es el espectro de Fourier.

    El cuadrado del espectro |F(u,v)| 2 = R(u,v)2+ I(u,v)2 se denomina espectro de potencias o densidad espectral de f(x,y).

    Su ngulo (u,v)=arctg(I(u,v)/R(u,v)) recibe el nombre de fase.

    Filtrado en el dominio de la frecuencia

    Transformada discreta de Fourier.

    Dominio espacial

    Filtrado en el dominio de la frecuencia

    x

    y

    u

    v

    Dominio de la

    frecuencia

    f(x,y) |F(u,v)|

    u

    v

    (u,v)

    Espectro Fase

    Filtrado en el dominio de la frecuenciaTransformada rpida de Fourier (FFT)

    La primera optimizacin es calcular la exponencial fuera del sumatorio. Se precalcula la parte exponencial de la frmula y se almacena en un arrayprecalculado.

    La segunda optimizacin se basa en calcular por separado los trminos pares e impares de la serie de Fourier. Esta optimizacin hace que para el clculo de un trmino de la serie sean necesarias slo N/2 sumas frente a N.

    Por ltimo, si el nmero de valores N de la funcin a aproximar es 2k, la idea de calcular de manera independiente trminos pares e impares se puede aplicar de manera sucesiva (algoritmo de divide y vencers).

  • Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes

    (a) (b) (c)

    Imagen de Lena (a) sobre la que se realiza una transformada de Fourier.

    (b) y (c) corresponden, respectivamente, a la representacin matricial de

    los mdulos y de las fases de los coeficientes de Fourier normalizados

    entre 0 y 1 y en falso color. El anlisis visual de las fases no es muy til.

    =

    =

    +==

    1

    0

    1

    0

    )(2

    ),(1

    )),((),(M

    x

    N

    y

    N

    vy

    M

    uxj

    eyxfMN

    yxfvuFpi

    para: u = 0, 1, 2, ,M-1 y v = 0, 1, 2,, N-1. Cada punto F(u,v) contiene sumas de

    todos los valores de f(x,y) modificados por los trminos exponenciales

    Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes

    La matriz de mdulos de coeficientes |F(u,v)| contiene informacin relativa a los valores de intensidad de la imagen (amplitudes de las sinusoides).

    La matriz de fases (u,v) contiene la informacin relativa a la posicin de los pxeles (posicin de los flancos de subida y bajada de las sinusoides).

    Transformada inversa de Fourier de una imagen discreta:

    para: x = 0, 1, , M-1 e y =0, 1, , N-1 Si se realiza la transformada inversa usando slo la matriz de

    fases se obtiene una imagen parecida al trazado de bordes de la imagen original. La transformada inversa usando slo la matriz de mdulos proporciona una imagen de manchas con tonos parecidos a los de la original.

    =

    =

    +

    ==1

    0

    1

    0

    )(21 ),()),((),(

    M

    u

    N

    v

    N

    vy

    M

    uxj

    evuFvuFyxfpi

    PropiedadesSeparabilidad Se puede calcular la TFD de una funcin bidimensional discreta calculando primero

    una TFD sobre la variable de uno de los ejes y al resultado aplicarle de nuevo la TFD sobre la variable del otro eje.

    Ventaja: es posible obtener la transformada F(x,y) o la inversa f(x,y) en dos pasos, mediante la aplicacin de la Transformada de Fourier 1-D o su inversa.

    Traslacin Tanto la transformada discreta de Fourier como la transformada inversa, son

    peridicas de periodo N (ancho y alto de la imagen): F(u,v) = F(u+N,v) = F(u,v+N) = F(u+N,v+N).

    Un caso particular de esta propiedad consiste en mover el origen de la transformada de Fourier de f(x,y) al centro de la matriz N X N que le corresponda, es decir al punto (N/2,N/2):

    f(x,y)(-1)x+y se hace corresponder con F(u-n/2,v-N/2).Con esta frmula se trasladar el origen de la TF, F(0,0), al centro de la imagen, es decir al punto (N/2,N/2).

    Un desplazamiento en la funcin f(x,y), no provocar un cambio en la magnitud de

    Filtrado en el dominio de la frecuencia

    Transformada de Fourier para imgenes

  • SimetraLa TF de una funcin f(x,y) real

    es simtrica conjugada:F *(u,v) = F(u,v) =>|F(u,v)|=|F(-u,-v)| =>El espectro tiene simetra par

    sobre el origen, y para calcular la magnitud de los puntos de un periodo completo, slo necesitamos calcular los N/2+1 primeros puntos, siempre y cuando el origen de la transformada est centrado en el punto (N/2,N/2) (mediante una traslacin).

    Filtrado en el dominio de la frecuencia

    Transformada de Fourier para imgenesPropiedades

    La rotacinSi rotamos la funcin f(x,y) un ngulo determinado, la transformada de Fouriertambin ser afectada por una rotacin del mismo ngulo. Si la transformada se rota en un determinado ngulo, la transformada inversa tambin se ver rotada ese mismo ngulo.

    Filtrado en el dominio de la frecuencia

    Transformada de Fourier para imgenes

    Propiedades

    Valor promedio

    Esta expresin se puede calcular a partir de la transformada de Fourier, sin ms que sustituir en la funcin F(u,v) para el punto (0,0):

    => el valor de la TF en el centro de la imagen es la media del nivel de gris de la imagen original

    (punto luminosoque si se anula y luego se hace la TI aparecer oscurecida).

    Escalado: a f(x,y) a F(u,v)f(ax,by) F(u/a,v/b) / |ab|

    Filtrado en el dominio de la frecuencia

    Transformada de Fourier para imgenes

    Propiedades

  • Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes

    Filtros paso bajo. Eliminan altas frecuencias, dejando pasar bajas

    frecuencias (aqullas por debajo una frecuencia de corte) Se ponen a cero los mdulos de los coeficientes de Fourier

    relativos a las altas frecuencias, dejando sin modificar los relativos a las bajas frecuencias.

    (a) (b) (c)Resultado de la transformada inversa sobre la matriz de coeficientes modificadas

    Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes

    Filtros paso alto. Eliminan bajas frecuencias, dejando pasar altas

    frecuencias. Se ponen a cero los mdulos de los coeficientes de Fourier

    relativos a las bajas frecuencias, dejando sin modificar los relativos a las altas frecuencias.

    Resultado de la transformada inversa sobre la matriz de coeficientes modificadas (a) (b) (c)

    Filtrado en el dominio de la frecuenciaTransformada de Fourier para imgenes

    Filtros paso banda. Permanece inalterada una banda (o rango) de frecuencias,

    Eliminacin de ruido estructural usando un filtrado paso banda

  • Filtrado en el dominio de la frecuencia (XIV)Wavelets

    Las wavelets son funciones que cumplen ciertas propiedades matemticas y se usan para representar datos y otras funciones.

    Permiten procesar datos a diferentes escalas o resoluciones.

    El anlisis de wavelets consiste en la descomposicin de una seal arbitraria f en versiones escaladas y trasladadas de la wavelet original.

    Para analizar (y aproximar) funciones usando wavelets se usa algn prototipo de funcin base o wavelet madre (Haar, Daubechies, )

    Se emplearon inicialmente (Morlet, 1984) para analizar seales donde sus componentes de alta frecuencia ocurran en intervalos cortos de tiempo mientras que las componentes de baja frecuencia aparecan durante ms tiempo.

    Filtrado en el dominio de la frecuencia (XV)Wavelets

    Como la seal o funcin original se puede expresar mediante una combinacin lineal de funciones wavelet, solo se requieren los coeficientes de dicha expansin.

    Aplicaciones sobre imgenes:

    Compresin

    Filtrado

    Edicin multirresolucin

    Bsqueda por contenido,

    Similitudes entre las transformadas de Fourier y de wavelets:

    Transformaciones lineales

    Funciones base localizadas en frecuencia

    Propiedades matemticas similares de las matrices de ambas transformaciones

    Filtrado en el dominio de la frecuencia (XVI)Wavelets

    Diferencias entre las transformadas de Fourier y de wavelets:

    En la transformada de Fourier las funciones base son senos y cosenos; en las transformadas de wavelets las funciones de base son ms complejas podemos adems tener diferentes tipos de funciones de base).

    En Fourier, las funciones base no tienen soporte compacto; las wavelets, s.

    Las funciones de base wavelets estn localizadas espacialmente (adems de en frecuencia); las de Fourier, solo en frecuencia.

    En el plano tiempo-frecuencia, para Fourier todas las ventanas son iguales (la resolucin del anlisis es la misma en todas las posiciones); en la transformada wavelet, al variar el tamao de las ventanas (dado por las funciones de base), podemos realizar una anlisis a distintas resoluciones.

    Filtrado en el dominio de la frecuencia (XVII)Transformada wavelet

    = dxxxfc nmnm )()( ,,

    La transformada wavelet continua de una funcin f(x) es:

    donde {m,n(x)} es una familia de bases reales y ortonormales obtenidas mediante escalado (por m) y traslacin (por n) de una funcin (x) llamada wavelet madre:

    La funcin original se puede reconstruir a partir de los coeficientes cm,n(transformada inversa wavelet):

    )2(2)( 2/, nxxmm

    nm =

    =nm

    nmnm xcxf,

    ,, )()(

  • Filtrado en el dominio de la frecuencia (XVIII)Transformada wavelet

    )2(2)( 2/, nxxmm

    nm = Para construir la wavelet madre (x) es necesario primero determinar unas funciones de escalado {m,n(x)} obtenidas como:

    donde (x) es una funcin de escalado base.Las funciones de escalado definen aproximaciones groseras de una funcin (a diferentes niveles de resolucin) y las funciones waveletscodifican el detalle (diferencia entre aproximaciones adyacentes).

    Sean Vj=Span{j,n(x)} y Wj=Span{j,n(x)}, los subespacios generados por las funciones base de escalado y wavelet, respectivamente, para un nivel de resolucin j (para todo valor de n). Se cumple que: Vj+1=VjWjdonde denota la unin de subespacios. Se cumple que todos los elementos de Vj son ortogonales a los de Wj

    Filtrado en el dominio de la frecuencia (XIX)Transformada wavelet

    )2()(2)(

    )2()(2)(

    kxkhx

    kxkhx

    k

    k

    =

    =

    A su vez, cualquier funcin (x) y (x) pueden ser expresadas mediante las ecuaciones (al ser estos espacios generados por lasfunciones de escalado de resolucin inmediatamente superior):

    donde solo se requieren los coeficientes h(k) y h(k) para realizar la transformada wavelet. Estos coeficientes est relacionados por la siguiente ecuacin:

    )1()1()( khkh k =

    Filtrado en el dominio de la frecuencia (XX)Transformada wavelet de Haar

    Unas funciones de escalado {m,n(x)} y de wavelets {m,n(x)} muy usadas son las de Haar.

    La transformada de Haar es separable y para ella existen implementaciones de complejidad lineal.

    En ella al ser, adems, ortonormales, las bases de funciones a distintos niveles de resolucin, se tiene que la imagen transformada conserva la energa de la imagen original.

  • Filtrado en el dominio de la frecuencia (XXII)Transformada wavelet de Haar

    Reconstruccin de

    y=x2 usando la

    expansin mediante

    series de wavelets de

    Haar

    Filtrado en el dominio de la frecuencia (XXIII)Transformada wavelet para imgenes

    Al igual que en Fourier, se pueden definir las transformadas waveletdiscreta (DWT) y rpida (FWT).

    Existen diversas formas de generalizar las transformadas wavelet 1D a 2D para poder ser empleadas en imgenes. Se necesita una funcin de escalado 2D (x,y) y tres de wavelets 2D: H(x,y), V(x,y) y D(x,y), que son separables:

    (x,y)=(x)(y), H(x,y)=(x)(y), V(x,y)=(x)(y), D(x,y)=(x)(y)Ahora las funciones de base 2D son:

    siendo: i = {H,V,D}.

    )2,2(2),( 2/,,

    nymxyx jjijinmj

    =)2,2(2),( 2/,, nymxyx

    jjj

    nmj =

    Filtrado en el dominio de la frecuencia (XXIV)Transformada wavelet para imgenes

    La generalizacin de las transformadas wavelet 1D a 2D para poder ser empleadas en imgenes se puede realizar eficientemente (usando la forma de la FWT):

    La idea es ir alternando la transformada wavelet unidimensional (p.ej. la de Haar) sobre las filas y sobre las columnas de la imagen, obtenindose una regin que contiene los coeficientes con los valores medios de la seal (coeficientes de anlisis) y tres regiones con los coeficientes de detalle horizontales verticales y diagonales.

    Posteriormente se aplica el mismo procedimiento sobre la regin de coeficientes con los valores medios.

    =

    =

    +

    =

    DVHi jj

    i

    nmj

    m n

    i

    nmj

    m n

    yxnmjWMN

    yxnmjWMN

    yxf

    ,,

    ,,

    ,,0

    0

    0

    ),(),,(1

    ),(),,(1

    ),(

    Filtrado en el dominio de la frecuencia (XXV)Transformada wavelet para imgenes

    Descomposicin resultante de la FWT en 2D

  • Filtrado en el dominio de la frecuencia (XXVI)Transformada wavelet para imgenes

    FWT en 2D (fase de anlisis)

    Filtrado en el dominio de la frecuencia (XXVII)Transformada wavelet para imgenes

    FWT en 2D (fase de sntesis)

    Filtrado en el dominio de la frecuencia (XXVIII)Transformada wavelet para imgenes

    Imagen original nivel j (resolucin 256256) y su descomposicinj-2 usando wavelets de Haar (resolucin 6464).

    Filtrado en el dominio de la frecuencia (XXIX)Transformada wavelet para imgenes: filtrado

  • Filtrado en el dominio de la frecuencia (XXX)Transformada wavelet para imgenes:

    compresin