Skip to content

For the enterprise course project, I have implemented a Canny Edge Detector model that processes a given input image file.

Notifications You must be signed in to change notification settings

vaibhavgp69/CannyEdgeDetector-using-CUDA

Repository files navigation

CUDA Canny Edge Detection using NPP Libraries

Project Description

This project implements the Canny edge detection algorithm using NVIDIA Performance Primitives (NPP) libraries combined with CUDA for efficient parallel processing. The goal is to leverage GPU acceleration for real-time edge detection in images.

Key Features

  • Canny Edge Detection Algorithm: Implementation of the classical Canny edge detection algorithm using CUDA kernels.
  • NPP Integration: Utilization of NVIDIA Performance Primitives (NPP) for optimized image processing operations.
  • Parallel Processing: Harnessing CUDA for parallel execution of image convolution, gradient computation, non-maximum suppression, and hysteresis thresholding.
  • Memory Management: Efficient memory allocation and utilization strategies on the GPU to handle large image data.
  • Input and Output Handling: Loading images from disk, processing them on the GPU, and saving the resulting edge-detected images.

Results

Input Image

  • A cybertruck image is being used for this code

image

Output Image

image

Code Organization

Directory Structure

  • src/: Contains the main CUDA C++ source files for Canny edge detection.
  • include/: Header files for CUDA kernels and utility functions.
  • bin/: Executable binaries built using make.
  • data/: Input images for testing and validation.
  • output_images/: Directory to store the output images generated by the Canny edge detector.

Usage

Building the Project

To build the project, navigate to the root directory and run:

make build

Running the Application

After building, execute the Canny edge detector using:

make run

About

For the enterprise course project, I have implemented a Canny Edge Detector model that processes a given input image file.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published