The question you've asked is not that easy to answer. It depends on many factors.
I will try to give you explanations in the opposite order:
Which one is easy to implement ?
There is no direct comparison between CUDA and FPGA as CUDA is a programming language and FPGA is hardware architecture. FPGAs can be programmed either in HDL (Verilog or VHDL) or on higher level using OpenCL. CUDA on the other hand is a programming language specially designed for Nvidia GPUs.
So, you can compare:
- FPGA to GPU or
- CUDA to OpenCL or HDL
Programming a GPU in CUDA is definitely the easiest way. If you don't have any experience with HDL it will almost surely be too much of a challenge for you.
OpenCL for FPGA could be a way to go. However, it is harder to implement and probably a lot more expensive.
Which one is Faster ?
GPU runs faster, but FPGA can be more efficient.
GPU has the potential of running at a speed higher than FPGA can ever reach. But only for algorithms that are specially suited for that. If the algorithm is not optimal, the GPU will loose a lot of performance.
FPGA on the other hand runs much slower, but you can implement problem-specific hardware that will be very efficient and get stuff done faster.
It's kinda like eating your soup with a fork very fast vs. eating it with a spoon more slowly.
Which one is better for Image Processing like compression, watermarking etc ?
GPU was invented for pixel-wise image processing, so you can expect it to perform better. Compression is mostly signal processing, so I would place my bet on the FPGA. Watermarking will be faster on GPU.
Both devices base their performance on parallelization, but each in a slightly different way. If the algorithm can be granulated into a lot of pieces that execute the same operations (keyword: SIMD), the GPU will be faster. If the algorithm can be implemented as a long pipeline, the FPGA will be faster.
Also, if you want to use floating point, FPGA will not be very happy with it :)
There are some examples for FPGA algorithms on Altera site. Most of those can beat GPU solutions.
There are tons of examples and libraries for CUDA.
Sources: I wrote a master's thesis on comparing performance of FPGAs (OpenCL) and GPUs
Algorithm Acceleration on FPGA with OpenCL