clc;clear;
original=imread('C:\Users\10594\Desktop\jj.jpg');
img1 = rgb2gray(original);
mark=im2bw(imread('C:\Users\10594\Desktop\shuiyin.jpg'));
figure;
imshow(original),title('原图像');
figure;
imshow(mark),title('水印图像');
% 1,对整个图像dct变换
dct_img = dct2(img1);
k1=2;
k2=20;
[rm,cm]=size(mark);
after=dct_img;
for f=1:rm
for d=1:cm
if mark(f,d)==0
k=k1;
else
k=k2;
end
after(f,d)=dct_img(f,d)+k;
end
end
new_img = idct2(after);
new_img1 = mat2gray(new_img);
figure;
imshow(new_img1),title('嵌入水印的图像');
%------------------------水印提取-----------------------------%
after_2=dct2(new_img);
mark_2 = zeros(rm,cm);
for d=1:rm
for h=1:cm
p=after_2(d,h);
if abs(p-k1)>abs(p-k2)
mark_2(d,h)=1;
else
mark_2(d,h)=0;
end
end
end
fin=double(mark_2);
figure;
imshow(fin);