Skip to content

This project conducts an analysis of image denoising technique - median blur, comparing GPU-accelerated (Numba) and CPU-based (OpenCV) processing speeds.

License

Notifications You must be signed in to change notification settings

yashkathe/Image-Noise-reduction-with-CUDA

Repository files navigation

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:

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.

About

This project conducts an analysis of image denoising technique - median blur, comparing GPU-accelerated (Numba) and CPU-based (OpenCV) processing speeds.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published