tv-image-denoising
Using the TV algorithm to denoise images with c++ and cuda.
Requirements
g++
vcpkg
cmake
opencv2
cuda
Build
# Generate build files
cmake -B build .
# Build
cmake --build build
Run
./TV_Denoising_CUDA <input_image> <output_image> <lambda> <iterations>
Original Exercise:
- Image denoising (up to 50+10+20=80%+)
-
Use and implement a total variation image denoising method for the GPU. The input should be a noisy image, processed on the GPU by solving the energy minimization problem, then the output image should be displayed or saved to the disk. (50%)
-
You can gain extra points for providing a simple GUI that allows the user to tune the parameters of the denoising algorithm, and immediately display the results! (+10%)
-
Additional extra points can be achieved by also submitting a comparative evaluation of yours and other denoising techniques, applied to various inputs. I.e., use metrics such as SSIM, NCC, MAD, etc. to compare results to ground truth images. (+20%) (Plus points: The more techniques you compare or the better quality that your figures,charts & diagrams are, you may be rewarded by further extra points.)