Watermark
Watermarking in the Fourier domain
Posts  1 - 1  of  1
yltang

I am doing research on watermarking images in the Fourier domain. A general procedure could be the following (using Matlab as an example):

1. Fourier-transform the image, say original image: x, transformed image: X
X = fft2(x);

2. Take the magnitude (spectrum, M) and phase (angle, A) of X. Usually, fftshift is performed:
X1 = fftshift(X);
M = abs(X1);
A = angle(X1);

3. Embed the watermark into M by changing some coefficients of M.
M1 = watermark(M);

4. Inverse Fourier transform the image back to the original.

My question is regarding step 4. How would we perform the inverse transform? Just do the following?

y = ifftshift(M1.\*exp(j\*A));
x1 = abs(ifft2(y));

However, since some elements in M1 are different from the corresponding ones in M, M1 and A don't seem to match. And if we Fourier-transform the resulting image, there are some artifact in it. Can someone out there tell me if the above inverse transform is correct. Thanks in advance. And I would appreciate if you may respond to my Email: yltang@cyut.edu.tw

Save
Cancel
Reply
 
x
OK