论文的程序,与大家分享
应用混沌序列对水印信息进行置乱源代码
% designed by 李立宗
% lilizong@gmail.com
%t430.m
x=zeros(1,40000);
x(1)=0.9
for i=2:40000
x(i)=1-2*x(i-1)*x(i-1);
end
xa=zeros(200,200);
n=1;
for i=1:200
for j=1:200
xa(i,j)=x(n);
end
end
x1=sort(x);
y=zeros(1,40000);
for i=1:40000
for j=1:40000
if(x(i)==x1(j))
y(i)=j;
end
end
end
%
% ya=zeros(200,200);
% n=1;
% for i=1:200
% for j=1:200
% ya(i,j)=y(n);
% n=n+1;
% end
% end
% % subplot(2,2,2),imshow(ya),title('混沌序列图像');
ta=imread('e:/logo.bmp');
subplot(1,3,1),imshow(ta),title('原始水印图像');
aa=zeros(1,40000);
n=1;
for i=1:200
for j=1:200
aa(n)=ta(i,j);
n=n+1;
end
end
bb=zeros(1,40000);
for i=1:40000
for j=1:40000
if(i==y(j))
bb(i)=aa(j);
end
end
end
bba=zeros(200,200);
n=1;
for i=1:200
for j=1:200
bba(i,j)=bb(n);
n=n+1;
end
end
subplot(1,3,2),imshow(bba),title('置乱后水印图像');
cc=zeros(1,40000);
for i=1:40000
cc(i)=bb(y(i));
end
cca=zeros(200,200);
n=1;
for i=1:200
for j=1:200
cca(i,j)=cc(n);
n=n+1;
end
end
subplot(1,3,3),imshow(cca),title('恢复后水印图像');