You are on page 1of 22

Procesamiento de Imgenes

Abel Fernndez Laborda


Pablo Lpez Mozas

Qu es una imagen?

Una matriz de puntos

Procesamiento de imgenes

Primera aproximacin a posibles


algoritmos paralelos:

Algoritmos generales sobre matrices.

No es suficiente: Necesitamos conocer los


tipos de procesamiento.

Clasificacin

Dos puntos de vista:

Por propsito.
Por algoritmo.

Propsitos diferentes comparten algoritmos


y existen diversos algoritmos para un
mismo propsito. Nos interesa la
clasificacin por algoritmo.

Clasificacin (II)

Procesamiento individual de puntos.

Basados en matrices de convolucin.

Transformada de Fourier.

Procesamiento de puntos

Se basan en un tratamiento individual de


cada punto de la imagen.

Pertenecen a este grupo:

Brillo / Contraste
Umbral
Histograma

Procesamiento de puntos (II)

Algoritmo secuencial

for (i=0; i<N; i++)


for (j=0; j<M; j++)
imagen[i][j] = calculo(imagen[i][j]);

Orden (NM)

Procesamiento de puntos (III)

Posibles algoritmos paralelos:


Particionamiento de la matriz.

Al no existir comunicacin entre procesos


el speedup es casi lineal. Orden (NM/P)

Matriz de convolucin

x4'

Se basan en aplicar sobre cada punto de la


matriz un clculo basado en los puntos
vecinos.
w w w
w w w
w w w

x x x
x x x
x x x

Mscara

Imagen

Resultado

'
4

w0 x0 w1 x1 w2 x2 w3 x3 w4 x4 w5 x5 w6 x6 w7 x7 w8 x8
k

Matriz de convolucin (II)

Pertenecen a este grupo:

Desenfoque
Enfoque

Y con variaciones en el clculo:

Eliminacin de ruido
Deteccin de bordes

Matriz de convolucin (III)

Algoritmo secuencial:
for (i=0; i<N; i++)
for (j=0; j<M; j++)
x[i][j] = w[0]*x[i-1][j-1] + w[1]*x[i-1][j] + ...;

Orden (NM)

Matriz de convolucin (IV)

Posibles algoritmos paralelos:


Particionamiento de la matriz.

Dos problemas:

Dependencias.
Mltiples lecturas.

Matriz de convolucin (V)

Caso especial: wi=wj, i,j


Algoritmo en 4 etapas:

Matriz de convolucin (VI)


x0 +x1

x0 +x1 + x2

x3 +x4

x3 +x4 + x5

x6 +x7

x6 +x7 + x8

x0 +x1 + x2

x0 +x1 + x2

x0 +x1 + x2
x3 +x4 + x5

x0 +x1 + x2
x3 +x4 + x5
x6 +x7 + x8

x6 +x7 + x8

x6 +x7 + x8

Transformada de Fourier

Obtiene el espectro frecuencial de una


seal peridica.
1.5

1
6
0.5
4
50
-0.5

100

150

200

250
2

-1
-1.5

50

100

150

200

250

Transformada de Fourier (II)

Se define como:

X ( f ) x ( t )e

2ift

dt

Y para el caso continuo:


1
X k
N

N 1

x e
j 0

jk
2i
N

Transformada de Fourier (III)

Una imagen, en este contexto, es una seal


discreta bidimensional. Por tanto, para calcular la
transformada utilizamos la siguiente funcin:
N 1 M 1

X lm x jk e
j 0 k 0

jl km
2i

N
M

Transformada de Fourier (IV)

Algoritmo secuencial (caso


unidimensional):
for (k=0; k<N;k++)
X[k] = 0;
for (j=0; j<N; j++)
X[k] = X[k] + wjk x[j];

Orden (N2)

Transformada rpida

Es un algoritmo divide y vencers:


1
Xk
N

N 1

x w
j 0

jk

N / 2 1
1 N / 2 1
2 j 1 k
2 jk
X k x 2 j w x 2 j 1 w

N j 0
j 0

N / 2 1

1 1 N / 2 1
1
2 jk
k
2 jk
Xk
x2 j w w
x 2 j 1 w

2 N / 2 j 0
N / 2 j 0

Transformada rpida (II)

1
X k X par w k X impar
2

xk 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
xk 0,2,4,6,8,10,12,14 w k 1,3,5,7,9,11,13,15
xk

xk

0,4,8,12 w 2,6,10,14 w 1,5,9,13 w 3,7,11,15


k

0,8 w 4,12 w 2,10 w 6,10 w 1,9 w 5,13 w 3,11 w 7,15


k

Orden (N log(N))

Transformada rpida (III)


0

x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
x13
x14
x15

X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
X13
X14
X15

Bibliografa

Parallel programming. Barry Wilkinson,


Michael Allen. Prentice-Hall. 1999.

Parallel algorithms for digital image


processing, computer vision and neural
networks. Ioannis Pitas (Editor). John
Wiley & sons. 1993

You might also like