How to keep fourier transform data when converting to uint8 image?

4 views (last 30 days)
I'm making an image watermarking system based on dft.I add a small blqck and white logo in the fourier transform noise, then i reverse the fourier transform ifft2() to get spatial image and convert it to uint8() so that data can display image in imshow(). The problem is inserted data are disappered in fourier transform when i do fft2() to uint8 watermarked image.So how do i keep the watermark data in fourier transform as well as to display image in spatial domain.Thank you for your help.

Accepted Answer

Walter Roberson
Walter Roberson on 17 May 2020
1) you make larger changes to the fft so that you get larger changes when you ifft
2) do not just code the bits once. Use an error correcting code so that even though an individual position might be lost in the ifft/uint8 /fft cycle, the code helps you recover the bits
  4 Comments
hein thet
hein thet on 17 May 2020
Walter Roberson, Yes you are right! I made more changes to the fft and watermark appears in the noise.Here's my stupid logic is more value = more change so I multiply Logo image with a large number and image finally appear in the fft. Thank you very much.
fftimage(10:(10+LogoRows -1),5:5+LogoColumns-1)= Logo*2000;
kinda magableh
kinda magableh on 19 Nov 2021
could you help me please,
how wecanl extract a watermwark that impeded in the image using FFT techbique?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!