Este proyecto implementa un programa para convertir imágenes a color en imágenes en escala de grises. Se proporcionan tres versiones del programa: una versión secuencial, una versión paralela utilizando std::thread
y una versión paralela utilizando OpenMP.
proyecto-imagenes/
│
├── src/
│ ├── secuencial/
│ │ ├── lumus.cpp
│ │ ├── Makefile
│ │ └── README.md
│ │
│ ├── paralelo_thread/
│ │ ├── lumus_parallel_thread.cpp
│ │ ├── Makefile
│ │ └── README.md
│ │
│ └── paralelo_openmp/
│ ├── lumus_parallel_openmp.cpp
│ ├── Makefile
│ └── README.md
│
├── bin/ [Archivos binarios compilados]
├── img/ [Imágenes de prueba]
├── Makefile
└── README.md
- C++11 o superior
- OpenCV
- GNU Make (opcional para compilación)
Para instalar OpenCV en tu sistema, sigue estos pasos:
- Actualiza los paquetes de tu sistema:
sudo apt-get update sudo apt-get upgrade
- Instala las dependencias necesarias:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
- Instala OpenCV:
sudo apt-get install libopencv-dev
Para otras distribuciones o sistemas operativos, visita Instalación de OpenCV.
Para compilar los programas, utiliza el Makefile
proporcionado en el directorio raíz:
make
Esto generará ejecutables en el directorio bin/
.
Cuando ejecutas el comando make
y ves el mensaje:
make: Nothing to be done for 'all'.
Esto significa que todos los objetivos especificados en el Makefile
ya están actualizados, y make
determina que no hay nada más que compilar, para poder recrear el comando usa make clean
esta un poco mas abajo.
Para eliminar los archivos binarios compilados, ejecuta:
make clean
Para ejecutar las diferentes versiones del programa, utiliza los siguientes comandos:
Para obtener más información, consulta el README.md en src/secuencial/
.
./bin/lumus ruta/a/imagen_entrada.jpg ruta/a/imagen_salida.jpg
EJ:
./bin/lumus img/1.jpg img/salida_1.jpg
Para obtener más información, consulta el README.md en src/paralelo_thread/
.
./bin/lumus_parallel_thread ruta/a/imagen_entrada.jpg ruta/a/imagen_salida.jpg num_hilos
EJ:
./bin/lumus_parallel_thread img/1.jpg img/salida_parallel_1.jpg 4
Para obtener más información, consulta el README.md en src/paralelo_openmp/
.
./bin/lumus_parallel_openmp ruta/a/imagen_entrada.jpg ruta/a/imagen_salida.jpg
EJ:
./bin/lumus_parallel_openmp img/1.jpg img/salida_openmp_1.jpg
GNU 3.0
- Juan Pablo Rosas M.
- Diego Gutierrez M.