Procesamiento de Imágenes Abel Fernández Laborda Pablo López Mozas.
-
Upload
jaime-henriquez-soto -
Category
Documents
-
view
224 -
download
1
Transcript of Procesamiento de Imágenes Abel Fernández Laborda Pablo López Mozas.
Procesamiento de Imágenes
Abel Fernández Laborda
Pablo López Mozas
¿Qué es una imagen?
Una matriz de puntos
Procesamiento de imágenes Primera aproximación a posibles
algoritmos paralelos: Algoritmos generales sobre matrices.
No es suficiente: Necesitamos conocer los tipos de procesamiento.
Clasificación Dos puntos de vista:
Por propósito. Por algoritmo.
Propósitos diferentes comparten algoritmos y existen diversos algoritmos para un mismo propósito. Nos interesa la clasificación por algoritmo.
Clasificación (II)
Procesamiento individual de puntos.
Basados en matrices de convolución.
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 comunicación entre procesos el speedup es casi lineal. Orden (NM/P)
w0 w1 w2
w3 w4 w5
w6 w7 w8
543 xxxx xx6 7 8
x x1x0 2
x4
'
Máscara Imagen Resultado
Matriz de convolución Se basan en aplicar sobre cada punto de la
matriz un cálculo basado en los puntos vecinos.
k
xwxwxwxwxwxwxwxwxwx 887766554433221100'4
Matriz de convolución (II) Pertenecen a este grupo:
Desenfoque Enfoque
Y con variaciones en el cálculo: Eliminación de ruido Detección de bordes
Matriz de convolución (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 convolución (IV) Posibles algoritmos paralelos:
Particionamiento de la matriz.
Dos problemas: Dependencias. Múltiples lecturas.
Matriz de convolución (V) Caso especial: wi=wj, i,j
Algoritmo en 4 etapas:
x +x0 1
x +x3 4
x +x6 7
x +x + x
0x +x + x
6 7
1
8
2
x +x + x0 1 2
x +x + x3 4 5
x +x + x
3x +x + x
6 7
4
8
5
x +x + x0 1 2
x +x + x0 1 2
x +x + x6 7 8
x +x + x0 1 2
543x +x + x
876x +x + x
Matriz de convolución (VI)
Transformada de Fourier Obtiene el espectro frecuencial de una
señal periódica.
50 100 150 200 250
2
4
6
8
50 100 150 200 250
-1.5
-1
-0.5
0.5
1
1.5
Transformada de Fourier (II) Se define como:
dtetxfX ift2)()(
Y para el caso continuo:
1
0
21 N
j
N
jki
jk exN
X
Transformada de Fourier (III) Una imagen, en este contexto, es una señal discreta bidimensional. Por
tanto, para calcular la transformada utilizamos la siguiente función:
1
0
1
0
2N
j
M
k
M
km
N
jli
jklm exX
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 rápida Es un algoritmo divide y vencerás:
1
0
1 N
j
jkjk wx
NX
12/
0
1212
12/
0
22
1 N
j
kjj
N
j
jkjk wxwx
NX
12/
0
212
12/
0
22 2/
1
2/
1
2
1 N
j
jkj
kN
j
jkjk wx
Nwwx
NX
Transformada rápida (II)
impark
park XwXX 2
1
Orden (N log(N))
15,711,313,59,110,610,212,48,0 kkkkkkkk wwwwwwwx
15,11,7,313,9,5,114,10,6,212,8,4,0 kkkk wwwx
15,13,11,9,7,5,3,114,12,10,8,6,4,2,0 kk wx
15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0kx
0
1x
2x
3x
4x
5x
6x
7x
8x
9x
10x
11x
12x
13x
14x
15x
7X
12X
15
14
13
XXX
11
10
9
8
XX
XX
X
6
5
4
3
2
XX
XX
1
0
X
Transformada rápida (III)
Bibliografía
“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