Code for my Diploma thesis at Information and Communication Systems Engineering (University of the Aegean, School of Engineering) with title "Efficient implementation of watermark and watermark detection algorithms for image and video using the graphics processing unit". Link
The original Thesis code is in the old branch. The code was later refactored and the algorithms improved with much better execution times, now in the default master branch. There is a newer implementation with the CUDA framework, which works only on NVIDIA GPUs, and is slightly faster on NVIDIA GPUs: CUDA branch
This Diploma thesis aims to compare the above algorithms (mainly in execution speed) when they are implemented in GPU and CPU. Part 2 / GPU usage for calculations. (Part 1 / CPU usage here )
Libraries used:
For building the project, the below must be installed:
- OpenCL implementation: The OpenCL Headers, OpenCL C++ Bindings and OpenCL Library file are already included and configured for this project.
- CUDA implementation: NVIDIA CUDA Toolkit.
- ArrayFire should be installed globally, with default installation options. Environment Variable "AF_PATH" will be defined automatically.
- OpenCV (for video testing, used internally by CImg), with default installation options. Environment Variable "OPENCV_DIR" should be defined in the "build" directory (for example: C:\opencv\build\x64\vc16).