🚀 Comparison between sequential and parallel implementations
This project explores Histogram Equalization to enhance image contrast, comparing a sequential version with an optimized parallel version using CUDA.
- ⬆️ Image contrast enhancement through Histogram Equalization.
- ⏱️ Performance comparison between sequential and parallel versions.
- 📁 Support for
.jpg,.png, and.bmpimage files. - 💾 Results are saved in a dedicated folder.
✅ C++
✅ OpenCV (for image processing).
✅ CUDA (for parallelization).
✅ MSVC + nvcc (for compilation).
✅ CMake (for cross-platform build).
- Add images to the
./imgdirectory. Some sample images of various sizes are already included in the project. - Run the program.
- Select an image from the list displayed in the terminal (images inside the
./imgdirectory). - View the results in the
./img_resultsdirectory and check the execution time for both versions.
💡 The program will display execution times for both implementations!
The images will be saved in:
.\img_results\color.\img_results\gray
A copy of the report (in Italian) can be found here📄.
A copy of the presentation can be found here📄.
💡 This project was developed by Giovanni Stefanini, as part of the Parallel Computing course exam.
Contrast enhancement using Histogram Equalization on sample images:
| Original Input | Seq. Equalization | Parallel Equalization |
|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |














