Skip to content

vincenzosantopietro/Image-denoising-using-CUFFT

Repository files navigation

Image denoising using CUFFT

A parallel implementation for image denoising on a Nvidia GPU using Cuda and the cuFFT Library The sofware:

  • Automatically selects the most powerful GPU (in case of a multi-GPU system)
  • Executes denoising
  • Saves output as text file and image

Authors

Installation

The software requires OpenCV v2.4.x to run.

Install the dependencies and compile the Makefile.

$ cd image-denoising-using-cufft
$ make

Demo

The software needs some parameters:

  • Number of threads (per block, for each direction)
  • Path to the output '.txt' file. If the file does not exist, it's created.
  • Path to the input image
  • Path to the '.txt' containing the kernel. [NB kernel's size is fixed to 5x5]

You can run the software by typing

$ ./convolution <num_threads> <output_file_path> <image_path> <kernel_path>

Plugins

Plugin README
OpenCV [https://github.com/opencv/opencv/blob/2.4/README.md] cv
cuFFT [http://docs.nvidia.com/cuda/cufft/#axzz4f6kyGEZu] df1

Version

This is still a beta version, developed for academic purposes.

Development

Want to contribute? Great!

Todos

  • Add an input parser

License

GNUv3.0
If you use this software, please cite: http://www.sciencedirect.com/science/article/pii/S1877050917317209

Credits

Image: https://en.wikipedia.org/wiki/Gaussian_noise

Free Software, Hell Yeah!

About

A parallel implementation of image denoising using Cuda and cuFFT.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published