Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract— En este documento se presenta la ejecución del al- Para lograr completamente el efecto, fue instalada la
goritmo blur, mostrando un paralelo entre una implementación librerı́a ”OpenCV”, esta permite representar una imagen
secuencial y una utilizando hilos POSIX. A continuación se como una matriz que corresponde a los canales de color RGB
explican las implementaciones realizadas junto con el análisis
de experimentos y resultados de acuerdo a tiempos de respuesta (Red, Green, Blue). El efecto se aplica de acuerdo al número
obtenidos. de hilos usados en el procesamiento de la imagen, cada hilo
utilizado está encargado de aplicar el efecto a determinadas
I. INTRODUCCI ÓN filas únicamente.
En esta primera práctica, se va a comparar el rendimiento
III. P ROCEDIMIENTO
de dos algoritmos para la generación de un efecto borroso
de una imagen predefinida. Se aplicarán las siguientes condi- Para la implementación del algoritmo blur, se hizo uso
ciones para la paralelización: de la librerı́a OpenCV anteriormente mencionada para la
• CPU - Secuencial
obtención de la imagen y la separación de los 3 canales de
• CPU - Hilos POSIX
color R, G ,B; se utiliza una matriz vacı́a del mismo tamaño
de la imagen original que almacena los valores promedio
Se probarán imágenes de diferentes resoluciones tales como
obtenidos por el kernel mientras recorre la imagen, para
720p, 1080p y 4K. El filtro borroso con kernel será variado
los bordes iniciales de la imagen se toma el indice como
entre 2 y 16 hilos.
el modulo de la imagen, simulando que es infinita. Con la
Este filtro borroso se obtiene procesando cada valor de los
implementación de hilos, se divide el total de filas en el
pixeles de la imagen con una función que disminuye el valor
número de estos para que cada hilo se encargue de la misma
original de cada pixel.
cantidad de filas lo cual disminuye el tiempo de ejecución.
II. ALGORITMO IMPLEMENTADO Al finalizar se asignan los valores obtenidos de cada canal a
El algoritmo implementado para el efecto blur, se basa en cada elemento de la matriz y esta se guarda como la imagen
tomar el valor promedio de los pixeles que rodean al pixel modificada.
seleccionado, y su valor es modificado por el promedio, de Para la implementación del algoritmo en OpenMp, se
tal forma que el efecto borroso sea creado. usan los hilos que el sistema operativo tiene y se calcula
Por ejemplo, ası́ se verı́a el pixel a reemplazar: En el centro el efecto Blur para cada pixel por medio de los hilos que
se observa el pixel que va a ser cambiado y se le aplicará el están disponibles en el sistema. Cada hilo procesa un pixel,
efecto borroso. y al finalizar, toma otro hasta haber completado la matriz y
aplicado el efecto en su totalidad.
B. POSIX
• Imagen 720px, tiempo vs hilos para cada kernel:
• Speedup:
D. CUDA
• 2 Hilos: