An open API service indexing awesome lists of open source software.

https://github.com/umer-farooq-cs/canny-edge-detector

High-performance Canny edge detector with CPU and CUDA implementations. Loads PGM images, performs Gaussian smoothing, gradients, non-max suppression, and hysteresis. Benchmarks both paths, outputs edge maps, and reports speedup. Simple Makefile, sample images included.
https://github.com/umer-farooq-cs/canny-edge-detector

c canny-edge-detection computer-vision cpp cuda gpu high-performance-computing image-processing nvcc pgm

Last synced: about 2 months ago
JSON representation

High-performance Canny edge detector with CPU and CUDA implementations. Loads PGM images, performs Gaussian smoothing, gradients, non-max suppression, and hysteresis. Benchmarks both paths, outputs edge maps, and reports speedup. Simple Makefile, sample images included.

Awesome Lists containing this project

README

          

### CudaCanny Edge Detector

A high-performance implementation of the Canny edge detector with both CPU and CUDA GPU paths. It loads PGM images, runs Gaussian smoothing, gradient, non-maximum suppression, and hysteresis, then saves CPU and GPU edge maps while reporting timing and speedup.

#### Features
- CPU and CUDA implementations side-by-side
- Benchmarking with timing and speedup
- Simple Makefile build

#### Requirements
- CUDA Toolkit (nvcc)
- GCC/Clang for C sources

#### Build
```bash
make
```
Binaries are placed in `bin/`.

#### Run
```bash
./bin/canny canny/pics/pic_large.pgm 2.5 0.25 0.5
```
Adjust sigma, tlow, thigh as needed. Example images are in `canny/pics/`.

#### Project Layout
- `src/`: C/CUDA sources
- `include/`: headers
- `bin/`: compiled binary
- `build/`: object files
- `canny/pics/`: sample images (PGM)