Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yashkathe/image-noise-reduction-with-cuda
This repository conducts a comprehensive analysis of image denoising technique - median blur, comparing GPU-accelerated (Numba) and CPU-based (OpenCV) processing speeds. Using diverse images, the project applies median filtering to assess efficiency providing insights into the practical impacts of hardware acceleration in real-world applications
https://github.com/yashkathe/image-noise-reduction-with-cuda
cuda cuda-programming gpu-programming hardware-speed-analysis image-analysis image-processing numba nvidia nvidia-cuda nvidia-gpu opencv parallel-programming
Last synced: about 2 months ago
JSON representation
This repository conducts a comprehensive analysis of image denoising technique - median blur, comparing GPU-accelerated (Numba) and CPU-based (OpenCV) processing speeds. Using diverse images, the project applies median filtering to assess efficiency providing insights into the practical impacts of hardware acceleration in real-world applications
- Host: GitHub
- URL: https://github.com/yashkathe/image-noise-reduction-with-cuda
- Owner: yashkathe
- License: mit
- Created: 2023-11-24T20:00:32.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-17T21:14:19.000Z (9 months ago)
- Last Synced: 2024-03-17T22:27:54.967Z (9 months ago)
- Topics: cuda, cuda-programming, gpu-programming, hardware-speed-analysis, image-analysis, image-processing, numba, nvidia, nvidia-cuda, nvidia-gpu, opencv, parallel-programming
- Language: Jupyter Notebook
- Homepage:
- Size: 24.8 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GPU vs CPU Runtime Analysis
## Overview
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.## Project Description
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.## Key Features
- 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.## Getting Started
### Prerequisites
- Python 3.x
- Libraries: OpenCV, Numba, Matplotlib, NumPy
- CUDA-enabled GPU for running GPU-accelerated code### Installation
Clone this repository or download the source code.
Install required Python packages:```bash
pip install opencv-python numba matplotlib numpy
```### Usage
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.