• No se han encontrado resultados

Análisis de imágenes digitales

N/A
N/A
Protected

Academic year: 2021

Share "Análisis de imágenes digitales"

Copied!
39
0
0

Texto completo

(1)

Análisis de

imágenes

digitales

TRANSFORMADAS BÁSICAS DE LA IMAGEN

(2)

• El concepto de descomposición en frecuencia se basa en las propiedades de

periodicidad de las señales trigonométricas del seno y coseno.

• Las funciones seno y coseno son señales periódicas con periodo = 2π, de tal

manera que la señal se repite como cos(x)=cos(x+2πk), ∀k∈Ν0.

• La velocidad angular es una medida de la velocidad de rotación definida como:

DEFINICIONES BÁSICAS

ω = 2π

T = 2πf

donde T es el periodo (tiempo en dar un ciclo completo) y f es la frecuencia

(número de ciclos por unidad de tiempo) medida en Hertz (Hz), de modo que:

f = 1

T =

ω

(3)

• Las funciones seno y coseno oscilan en el rango [1,+1], y se puede modificar su amplitud multiplicándolas por una constante A, de tal manera que quedan definidas como:

DEFINICIONES BÁSICAS

f(x) = A⋅cos(ωx) y f(x) = A⋅sin(ωx) 0 π 4 π 2 3π 4 π 5π 4 3π 2 7π 4 2π −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 ω A cos(x) sin(x) 0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1 f % Ejemplo en MATLAB

x = 0:0.01:1; % Variable independiente (tiempo)

k = 1; % Número de ciclos por segundo (Hz)

A = 1; % Amplitud de la función

w = 2*k*pi; % Velocidad angular

f1 = A*sin(w*x); % Evalúa función seno

f2 = A*cos(w*x); % Evalúa función coseno

% Gráfica de resultados figure('color',[1 1 1]);

plot(w*x,f1,'k',w*x,f2,'k-.'); set(gca,'xtick',0:pi:w);

xlim([0 w]); ylim([-A A]); legend('sin(x)','cos(x)');

(4)

• Si se considera el desplazamiento de la función coseno a lo largo del eje x en una distancia ϕ, denominada ángulo de fase, se tiene la siguiente expresión:

DEFINICIONES BÁSICAS

f(x) = cos(ωx − φ)

• Considerando la fase, existen equivalencias entre las funciones seno y coseno, tal que:

sin(ωx) = cos(ωx − π 2) cos(ωx) = sin(ωx − π 2) 0 π 4 π 2 3π 4 π 5π 4 3π 2 7π 4 2π −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 ω A cos(x) sin(x) φ

(5)

• Los procesos de transformación consisten en descomponer un modelo de componentes ortogonales.

• La ortogonalidad se refiere a que la descomposición realizada tendrá información excluyente entre las componentes, es decir, la información contenida en la descomposición de una componente no se encontrará en ninguna otra componente.

• Las funciones seno y coseno son ortogonales, por lo que pueden ser utilizadas para construir funciones arbitrarias, por ejemplo:

DEFINICIONES BÁSICAS

A⋅cos(ωx) + B ⋅sin(ωx) = C ⋅cos(ωx − φ)

donde: C = A2 + B2 y φ = tan−1 B A ⎛ ⎝⎜ ⎞ ⎠⎟

(6)

DEFINICIONES BÁSICAS

1 2⋅cos(x) 1 2⋅sin(x) 2 2 ⋅cos(x − π4) 0 π 4 π 2 3π 4 π 5π 4 3π 2 7π 4 2π 0 ω − 2 2 2 2 A = 1 2 B = 1 2 sin(ωx) cos(ωx) A⋅cos(ωx)+ B⋅sin(ωx) φ

(7)

• La relación entre las funciones coseno y seno y la función exponencial compleja está determinada por la fórmula de Euler:

DEFINICIONES BÁSICAS

ejφ = cosφ + j sinφ

• La parte real (Re) e imaginaria (Im) quedan determinados por:

Re(ejφ) = cosφ = ejφ +e

2

y Im(ejφ) = sinφ = ejφe

2j • La magnitud se define como:

ejφ = Re2(ejφ)+ Im2(ejφ)

• El ángulo de fase se define como: φ = tan−1 ⎡Im(ejφ) ⎢ ⎤⎥ Im cos(φ)+ jsin(φ) φ Re sin(φ) cos(φ) 1 1

(8)

• Algunas tareas de AID son más fáciles de hacer al transformar la imagen del dominio espacial a otro dominio, realizar dichas tareas en ese nuevo dominio y aplicar una transformación inversa para regresarla al dominio espacial.

TRANSFORMADAS DE IMÁGENES

Problema en el dominio de la transformada Problema en el dominio espacial Solución en el dominio espacial Solución en el dominio de la transformada Solución fácil Solución difícil Integral de

(9)

• Ejemplo: filtrado de ruido periodico.

TRANSFORMADAS DE IMÁGENES

Procesa

mien

to

R R−1

Dominio espacial Dominio de la transformada Dominio espacial

(10)

• Las transformadas lineales para imágenes, denotadas T(u,v), pueden expresarse de la forma general como:

TRANSFORMADAS DE IMÁGENES

T

(

u

,

v

)

=

f

(

x

,

y

)

r

(

x

,

y

,

u

,

v

)

y=0 N−1

x=0 M−1

Imagen transformada Imagen de entrada Kernel de transformación directo

con u=0,1,…,M−1 y v=0,1,…,N−1, donde M y N son el ancho y alto de la

imagen respectivamente, x e y son las variables espaciales, y u y v son las variables de la transformada.

• Dado T(u,v) se puede recuperar f(x,y) usando la transformada inversa de T(u,v) como:

f

(

x

,

y

)

=

T

(

u

,

v

)

s(

x

,

y,

u

,

v

)

v=0 N−1

u=0 M−1

Imagen recuperada Imagen transformada Kernel de transformación inverso con x=0,1,…,M−1 y y=0,1,…,N−1.

(11)

• La transformada directa se dice que es separable si:

TRANSFORMADAS DE IMÁGENES

r

(

x

,

y

,

u

,

v

)

=

r

1

(

x

,

u

)

r

2

(

y

,

v

)

• Adicionalmente, el kernel es simétrico si r1(x,u) es funcionalmente idéntico a r2(y,v), tal que

r

(

x

,

y

,

u

,

v

)

=

r

1

(

x

,

u

)

r

1

(

y

,

v

)

• Ambas propiedades también aplican a la transformada inversa.

renglón columna va lor Perfil horizontal Perfil ver tica l

(12)

• El físico-matemático francés Joseph Fourier sentó las bases del análisis de funciones periódicas las cuales son descompuestas en series trigonométricas convergentes llamadas Series de Fourier.

TRANSFORMADA DE FOURIER

• En 1822 publicó su trabajo “Teoría analítica del calor” en donde aplicó las series trigonométricas para modelar la propagación del calor.

• Actualmente el Análisis de Fourier se utiliza extensamente en varias áreas de la ciencia para el análisis de frecuencia de señales periódicas.

(13)

TRANSFORMADA DE FOURIER

CASO CONTINUO 1D

• Series de Fourier: una función periódica puede descomponerse en una suma de simples señales oscilatorias (armónicos) con diferentes frecuencias (senos y cosenos o exponenciales complejas).

Función cuadrada: f (x) = 1, 0 < x <π −1, π <x < 2π ⎧ ⎨ ⎪ ⎩⎪ Serie de Fourier: f (x) = 4 π 1 n sinnω0x n=impar ∞

n = 1 n = 3 n = 7 n = 11 n = 39 n = 199

(14)

• Transformada de Fourier o integral de Fourier: descompone una función periódica en sus armónicos (espectro de frecuencias) y se define como:

F(ω) = F[f(x)] = f(x)ej2πωx dx

−∞ ∞

• La transformada inversa de Fourier se expresa como: f(x) = F−1[F(ω)] = 1 2π F(ω)e j2πωx dω −∞ ∞

donde: j = 1 y e±jθ = cosθ ± j sinθ

TRANSFORMADA DE FOURIER

(15)

x 0 X A f(x) Pulso rectangular f(x) = A, x < X 0, x > X ⎧ ⎨ ⎪ ⎩⎪ F(u) = f (x)ejux dx −∞ ∞

= Aejux dx 0 X

= A ejux dx 0 X

eax dx

= eax a Si ⇒ − A ju ejux 0 X = − A ju ejuX − 1 ⎡⎣ ⎤⎦ = A ju e jπuXejπuX ⎡⎣ ⎤⎦ejπuX Si sinθ = e jθ − ejθ 2 jA πu sin(πuX)ejπuX F(u) = A πu sin(πuX) ejπuX 1 F(u) = AX sin(πuX) πuX Función Sinc

TRANSFORMADA DE FOURIER

CASO CONTINUO 1D

(16)

F[f(x)] f(x) = A, x < X 0, x > X ⎧ ⎨ ⎪ ⎩⎪ F(u) = AX sin(πuX) πuX f (x) 0 X A F(u) x π 0 u X πX

TRANSFORMADA DE FOURIER

CASO CONTINUO 1D

(17)

f (t) = sin(2πωt)

• Variando la velocidad angular, se observa un aumento de la frecuencia en el dominio del tiempo y que es correspondiente a un desplazamiento en el dominio de la frecuencia.

TRANSFORMADA DE FOURIER

(18)

f (t) = sin(2πt)+ sin(2πωt)

TRANSFORMADA DE FOURIER

CASO CONTINUO 1D

• Variando la velocidad angular, se observa un aumento de la frecuencia en el dominio del tiempo y que es correspondiente a un desplazamiento en el dominio de la frecuencia.

(19)

TRANSFORMADA DE FOURIER

CASO CONTINUO 2D

• El par de transformadas de Fourier bidimensionales se definen como: F(u,v) = F[f(x,y)] = f(x,y)ej2π(xu+yv)dxdy −∞ ∞

f(x,y) = F−1[F(u,v)] = 1 2π F(u,v)e j2π(xu+yv)dudv −∞ ∞

X Y x y A Si f(x,y) = A, 0 < x < X ∩ 0 < y <Y 0, otro caso ⎧ ⎨ ⎪ ⎩⎪ ep+q = ep eq F(u,v) = A ejxu dx 0 X

ejyv dy 0 Y

F(u,v) = AXY sin(πuX) πuX sin(πvY) πvY • Considérese el pulso rectangular 2D:

(20)

TRANSFORMADA DE FOURIER

CASO CONTINUO 2D u v F(u,v) X Y x y A f(x,y) F[f(x,y)] f(x,y) = A, 0 < x < X ∩ 0 < y <Y 0, otro caso ⎧ ⎨ ⎪ ⎩⎪ F(u,v) = AXY sin(πuX) πuX sin(πvY) πvY

(21)

TRANSFORMADA DE FOURIER

CASO DISCRETO 1D

• Supóngase una función continua f (x) que se ha discretizado en la sucesión: f (x) = f (x0 +xΔx)

(22)

TRANSFORMADA DE FOURIER

CASO DISCRETO 1D

• El par de transformadas discretas de Fourier (DFT) para funciones muestreadas son: F[f(x)] = F(u) = f(x)ej2πux N x=0 N−1

para u = 0,1,2,…,N −1 F−1[F(u)] = f(x) = 1 N F(u)e j2πux N u=0 N−1

para x = 0,1,2,…,N −1 function F = dft(f) N = numel(f); x = 0:N-1; u = 0:N-1; k = 1j*2*pi; F = zeros(1,N); for i = 1:N F(i) = sum(f.*exp(-k*x*u(i)/N)); end

• Implementación numérica en MATLAB:

function f = idft(F) N = numel(F); u = 0:N-1; x = 0:N-1; k = 1j*2*pi; c = 1/N; f = zeros(1,N); for i = 1:N f(i) = c*sum(F.*exp(k*u*x(i)/N)); end

(23)

TRANSFORMADA DE FOURIER

CASO DISCRETO 2D

• En el caso de dos variables el par de transformadas discretas de Fourier son:

F[f(x,y)] = F(u,v) = f(x,y)ejux M+ vy N

( )

y=0 N−1

x=0 M−1

F−1[F(u,v)] = f(x,y) = 1 MN F(u,v)e jux M+ vy N

( )

v=0 N−1

u=0 M−1

para u = 0,1,2,…,M −1 v = 0,1,2,…,N −1 para x = 0,1,2,…,M − 1 y = 0,1,2,…,N −1 • Significado de la DFT 2D: la combinación de funciones armónicas base bidimensionales pueden sintetizar cualquier función arbitraria espacial.

(24)

TRANSFORMADA DE FOURIER

CASO DISCRETO 2D

• Diferencias entre el dominio espacial y el dominio de la frecuencia:

x y f(x,y) proporciona la intensidad de la imagen en ese punto u v F(u,v) proporciona la contribución que la componente de frecuencia hace a la imagen F[f(x,y)] F−1[F(u,v)]

(25)

TRANSFORMADA DE FOURIER

PROPIEDADES

• El rango dinámico del espectro de Fourier es generalmente mucho mayor de

lo que los sistemas de visualización son capaces de reproducir.

• Para visualizar |F (u,v)| se realiza una compresión logarítmica como:

D(u,v) = c log 1

(

+ F(u,v)

)

(26)

TRANSFORMADA DE FOURIER

PROPIEDADES

• La DFT se puede expresar de forma polar como:

F(u,v) = F(u,v)ejφ(u,v)

donde la magnitud (espectro de Fourier o de frecuencias) es: F(u,v) = Re2(u,v) + Im2(u,v)

⎡⎣ ⎤⎦1 2

y el ángulo de fase es:

φ(u,v) = tan−1 Im(u,v) Re(u,v) ⎡ ⎣ ⎢ ⎤ ⎦ ⎥

• La DFT y su inversa son distributivas respecto a la suma:

F{f1(x,y)+ f2(x,y)} = F{f1(x,y)} + F{f2(x,y)}

• Pero no para la multiplicación:

(27)

TRANSFORMADA DE FOURIER

PROPIEDADES F F−1 F−1 F(u,v) φ(u,v) f(x,y)

• La magnitud de la DFT 2D contiene información sobre las intensidades de la imagen, mientras que la fase contiene información sobre la localización de los objetos en la imagen.

(28)

TRANSFORMADA DE FOURIER

PROPIEDADES F−1 φ(u,v) φ(u,v) F(u,v) F(u,v) F−1

(29)

TRANSFORMADA DE FOURIER

PROPIEDADES

• La DFT de una función real es simétrica conjugada, de modo que el espectro posee una simetría par con respecto al origen:

F(u,v) = F(−u,v)

y el ángulo de fase exhibe una simetría impar con respecto al origen:

φ(u,v) = −φ(−u,−v) • También, la DFT es periódica con periodo N:

F(u,v) = F(u + N,v) = F(u,v + N) = F(u + N,v + N)

por tanto, para fines prácticos se suele tomar únicamente un periodo:

F(u)

(30)

TRANSFORMADA DE FOURIER

PROPIEDADES f(x,y) x y F(u,v) uu vv uu vv φ(u,v)

(31)

TRANSFORMADA DE FOURIER

PROPIEDADES u v 0 M 2MMMN −∞M −∞N 0 N 1 pe rio do

• Periodicidad y simetría en la frecuencia:

F

(32)

TRANSFORMADA DE FOURIER

PROPIEDADES

• Periodicidad y simetría en el espacio:

F−1 F(u,v) x y 0 M 2MMMN −∞M −∞N 0 N 1 periodo 1 pe rio do

(33)

TRANSFORMADA DE FOURIER

PROPIEDADES

• La propiedades de traslación del par de transformadas de Fourier son:

f(x,y)ej2π(u0x/M+v0y/N) ⇔ F F(uu0,vv0) f(x + x0,y +y0)⇔F F(u,v)ej2π(u0x/M+v0y/N) Desplazamiento en frecuencia Desplazamiento en el espacio donde: 0 < u 0 < M −1 y 0 < v0 < N −1

• Generalmente, el origen del espectro se coloca al centro del planocon coordenadas (M/2, N/2) mediante:

(34)

TRANSFORMADA DE FOURIER

PROPIEDADES f(x,y) 0 M−1 y x 0 N−1 F(u,v) 0 M−1 v u 0 N−1 ˆ f(x,y)= f(x,y)⋅(−1)x+y v u 0 N−1 0 Fˆ(u,v) M−1 Traslación en la frecuencia

F

F

(35)

TRANSFORMADA DE FOURIER

PROPIEDADES 0 M−1 v u 0 N−1 f(x,y) 0 M−1 y x 0 N−1 ˆ F(u,v)= F(u,v)⋅ej2π(xu0/M+yv0/N) y x 0 N−1 0 fˆ(x,y) M−1 u0 = M 2 v0 = 0 con y Traslación en el espacio

F

−1

F

−1 F(u,v)

(36)

TRANSFORMADA DE FOURIER

PROPIEDADES

• Si se introducen las coordenadas polares:

x = r cosθ y = r sinθ u = ω cosϕ v = ω sinϕ

entonces f(x,y) y F(u,v) se convierten en f(r,θ) y en F(ω,φ),

respectivamente, de modo que se genera una rotación del ángulo:

f(r,θ +θ0)⇔F F(ω,ϕ +ϕ0)

• Si se rota la función f(r,θ+θ0) un ángulo determinado, la transformada de Fourier también será afectada por una rotación del mismo ángulo. Esta propiedad también se da a la inversa.

F F

(37)

TRANSFORMADA DE FOURIER

PROPIEDADES

• El par de DFT’s pueden expresarse en forma separable como:

F(u,v) = ejux/N f(x,y) y=0 N−1

x=0 N−1

ejvy/N, para u,v = 0,1,2,,N 1 f(x,y) = 1 N e j2πux/N F(u,v) v=0 N−1

u=0 N−1

ej2πvy/N, para x,y = 0,1,2,…,N 1

• Por tanto, F(u,v) ó f(x,y) pueden obtenerse en dos pasos aplicando sucesivamente la DFT 1D o su inversa: F(u,v) = F(u,y)ejvy/N y=0 N−1

donde F(u,y) = f(x,y)ej2πux/N x=0 N−1

f(x,y) = 1 N f(u,y)e jux/N u=0 N−1

donde f(u,y) = 1 N F(u,v)e j2πvy/N v=0 N−1

La función 2D F(u,y) se obtiene aplicando DFT 1D a lo largo de cada columna de f(x,y), y

después F(u,v) se obtiene aplicando DFT 1D a lo largo de cada fila de F(u,y).

(38)

TRANSFORMADA DE FOURIER

PROPIEDADES

• La obtención de DFT 2D a partir de una serie de transformadas 1D mejora

notablemente el tiempo de cálculo de la DFT.

x y N−1 N−1 (0, 0) f(x,y) u y N−1 N−1 (0, 0) F(u,y) u v N−1 N−1 (0, 0) F(u,v) Transformada de columnas Transformada de filas u v N−1 N−1 (0, 0) F(u,v) x v N−1 N−1 (0, 0) f(u,y) x y N−1 N−1 (0, 0) f(x,y) Transformada de filas Transformada de columnas

(39)

TRANSFORMADA DE FOURIER

PROPIEDADES function F = dft2(f) f = double(f); [N,M] = size(f); F = zeros(N,M);

% Transformada de las columnas

for i = 1:M

F(:,i) = dft(f(:,i)); end

% Transformada de las filas

for j = 1:N F(j,:) = dft(F(j,:)); end function f = idft2(F) F = double(F); [N,M] = size(F); f = zeros(N,M);

% Transformada de las filas

for i = 1:N

f(i,:) = idft(F(i,:)); end

% Transformada de las columnas

for j = 1:M

f(:,j) = idft(f(:,j)); end

• Implementación numérica en MATLAB de la DFT 2D, donde las funciones

Referencias

Documento similar