12.02.2015
1.29.2015
Multiresolution Watermark Based on Wavelet Transform for Digital images
The
basic concept of this research paper is to perform watermarking using wavelet
domain. Since it consists of adding weight to the large coefficients at the high
and medium frequency bands of the discrete wavelet transform of an image. But first,
let us know why wavelets approach is used here. Considering that this process
involves masking, transform domain is well suited to it since it is well
localized both in time and frequency. Also, wavelet transform would allow much
easier and optimized way in information protection. Another aspect of wavelet
transform is to watermark an image in significant regions of the data in order
to remain robust and risking image alteration. As we all know, image watermarking
introduces the invincibility of the hidden image/text as “secret message”
within another image but keeping the watermark robust too. The paper‘s methodology
includes operating the frequency domain with Mean = 0 and Variance = 1 and
following instructions with code snippets.
Code for getting the image and transforming it into gray scale image:
(Figure 1)
img
= imread('home.jpg');
img
= rgb2gray(img);
img
= double(img);
c =
0.01;
figure,imshow(uint8(img)),title('Original
Image');
[p q] =
size(img)
Key
Generation: (Figure 2)
n =
awgn(img,4,3,'linear');
N =
imabsdiff(n,img);
figure,imshow(double(N)),title('Key');
Image
Decomposition:
[Lo_D,Hi_D,Lo_R,Hi_R]
= wfilters('haar');
[ca,ch,cv,cd]
= dwt2(img,Lo_D,Hi_D);
**
Watermarking:
y = [ca
ch;cv cd];
Y = y +
c*abs(y).* N;
p=p/2;q=q/2;
for i=1:p
for j=1:q
nca(i,j) = Y(i,j);
ncv(i,j) = Y(i+p,j);
nch(i,j) = Y(i,j+q);
ncd(i,j) = Y (i+p,j+q);
end
end
** In order to weight the watermark
according to the magnitude of the wavelet coefficients, we used one of the two
following relations between the original coefficients y and ÿ, the ones
containing the watermark:
It must be pointed out that the relations
(1) and (2), even though they are mathematically different, but have the exact
same goal which is to put more weight to the watermark added to high value
wavelet coefficients. The parameter alpha is to control the level of the watermark; it
is in fact a good way to choose between good transparency or good robustness or
a tradeoff between the two. Finally, the two dimension inverse wavelet
transform of is computed to form ÿ the watermarked image.
Display
Watermarked Image: (Figure 3)
wimg = idwt2(nca,nch,ncv,ncd,Lo_R,Hi_R);
figure,imshow(uint8(wimg)),title('Watermarked Image');
Screenshots
Output of the program
after execution.
Mag-subscribe sa:
Mga Post (Atom)






