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
- Vincenzo Santopietro <[email protected]>
- Francesco Battistone <[email protected]>
The software requires OpenCV v2.4.x to run.
Install the dependencies and compile the Makefile.
$ cd image-denoising-using-cufft
$ make
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>
Plugin | README |
---|---|
OpenCV | [https://github.com/opencv/opencv/blob/2.4/README.md] cv |
cuFFT | [http://docs.nvidia.com/cuda/cufft/#axzz4f6kyGEZu] df1 |
This is still a beta version, developed for academic purposes.
Want to contribute? Great!
- Add an input parser
GNUv3.0
If you use this software, please cite: http://www.sciencedirect.com/science/article/pii/S1877050917317209
Image: https://en.wikipedia.org/wiki/Gaussian_noise
Free Software, Hell Yeah!