¿Qué es una imagen? y Una matriz de puntos Fuentes Definición de Imagen y P(x,y,z) x y’ x’ f Plano Imagen z Plano Objeto Definición de Imagen Procesamiento Digital de Imágenes y Procesamiento individual de puntos. y Basados en matrices de convolución. y Transformada de Fourier. Procesamiento de puntos y Se basan en un tratamiento individual de cada punto de la imagen. y Pertenecen a este grupo: y Brillo / Contraste y Umbral y Histograma Procesamiento de puntos (II) y Algoritmo secuencial for (i=0; i<N; i++) for (j=0; j<M; j++) imagen[i][j] = calculo(imagen[i][j]); y Orden (NM) Procesamiento de puntos (III) y Posibles algoritmos paralelos: Particionamiento de la matriz. y Al no existir comunicación entre procesos el speedup es casi lineal. Orden (NM/P) Matriz de convolución y Se basan en aplicar sobre cada punto de la matriz un cálculo basado en los puntos vecinos. x4' = w w w w w w w w w x x x x x x x x x x Máscara Imagen Resultado 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 ' 4 w 0 x 0 + w 1 x1 + w 2 x 2 + w 3 x 3 + w 4 x 4 + w 5 x 5 + w 6 x 6 + w 7 x 7 + w 8 x 8 k Matriz de convolución (II) y Pertenecen a este grupo: y Desenfoque y Enfoque y Y con variaciones en el cálculo: y Eliminación de ruido y Detección de bordes Matriz de convolución (III) y 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] + ...; y Orden (NM) Matriz de convolución (IV) y Posibles algoritmos paralelos: Particionamiento de la matriz. y Dos problemas: y Dependencias. y Múltiples lecturas. Matriz de convolución (V) y Caso especial: wi=wj, ∀i,j y Algoritmo en 4 etapas: Matriz de convolución (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 y Obtiene el espectro frecuencial de una señal periódica. 1.5 8 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) y Se define como: ∞ X ( f ) = ∫ x ( t )e − 2πift dt −∞ Y para el caso continuo: 1 X k= N N −1 ∑x e j =0 j jk − 2πi N Transformada de Fourier (III) y Una imagen, en este contexto, es una señal discreta bidimensional. Por tanto, para calcular la transformada utilizamos la siguiente función: N −1 M −1 X lm = ∑ ∑ x jk e j =0 k =0 jl km − 2πi + N M Transformada de Fourier (IV) y 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]; y Orden (N2) Bibliografía y “Parallel programming”. Barry Wilkinson, Michael Allen. Prentice-Hall. 1999. y “Parallel algorithms for digital image processing, computer vision and neural networks”. Ioannis Pitas (Editor). John Wiley & sons. 1993