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.
- CPU and CUDA implementations side-by-side
- Benchmarking with timing and speedup
- Simple Makefile build
- CUDA Toolkit (nvcc)
- GCC/Clang for C sources
makeBinaries are placed in bin/.
./bin/canny canny/pics/pic_large.pgm 2.5 0.25 0.5Adjust sigma, tlow, thigh as needed. Example images are in canny/pics/.
src/: C/CUDA sourcesinclude/: headersbin/: compiled binarybuild/: object filescanny/pics/: sample images (PGM)