附录1.1 应用混沌序列对有意义水印进行调制
% designed by 李立宗
% lilizong@gmail.com
% logistic.m
a=imread('e:\logo.bmp');
x=zeros(1,40000);
t=zeros(1,40000);
x(1)=0.8;
for i=1:39999
%x(i+1)=4*x(i)*(1-x(i));
x(i+1)=1-2*x(i)*x(i);
end
% figure,imshow(a);
%
% for i=1:200
%for j=1:200
%if a(i,j)==255
% a(i,j)=1;
%else
% a(i,j)=0;
%end
%end
% end
%
% figure,imshow(a);
a=im2bw(a);
subplot(2,2,1),imshow(a),title('水印图像');
for i=1:40000
if x(i)>0
t(i)=1;
else
t(i)=0;
end
end
for i=1:200
for j=1:200
temp(i,j)=t((i-1)*200+j);
end
end
% subplot(1,2,1),imshow(temp);
% temp=ones(200:200);
subplot(2,2,2),imshow(temp),title('混沌加密图像');
w1=xor(temp,a);
subplot(2,2,3),imshow(w1),title('加密后水印图像');
a1=xor(w1,temp);
subplot(2,2,4),imshow(a1),title('恢复后图像');