This repository contains a project that compares the performance of image processing operations when executed on a GPU vs. a CPU. The focus is on analyzing the execution time for median filtering across a set of images, providing insights into the efficiency gains achievable with GPU acceleration.
The project uses Python, with OpenCV for CPU-based image processing and Numba for GPU acceleration. The primary goal is to measure and compare the execution time for median filtering—an image denoising technique—on both the CPU and GPU.
- Image Processing: Applies median filtering to a set of images using both CPU and GPU.
- Runtime Comparison: Measures and logs the execution time for both methods.
- Visualization: Displays original and processed images side by side for visual comparison.
- Python 3.x
- Libraries: OpenCV, Numba, Matplotlib, NumPy
- CUDA-enabled GPU for running GPU-accelerated code
Clone this repository or download the source code.
Install required Python packages:
pip install opencv-python numba matplotlib numpy
Place your images in the image-data directory.
Run the Jupyter Notebook.
The notebook will process the images and display the results along with the
runtimes.