混沌系統圖像加密解密理論部分參考連接: 基於混沌系統的圖像加密算法設計與應用git
%加密程序
function b=jiami(a,s,h)
[m1,n1]=size(a(:,:,1));
x=zeros(1,m1+n1);
y=[1:m1+n1];
%而後, 用Logitic 映射產生混沌序列:
for n=1:m1+n1-1
x(1)=s;
q=h;
x(n+1)=q*x(n)*(1- x(n));
end
%排序行置亂
for f=1:m1-1
for h=f:m1
if x(f)>x(h)
k=x(f);
x(f)=x(h);
x(h)=k;
m=y(f);
y(f)=y(h);
y(h)=m;
c1=a(f,:,:);
a(f,:,:)=a(h,:,:);
a(h,:,:)=c1;
end
end
end
function b=jiemi(a,s,h)
[m1,n1]=size(a(:,:,1));
x=zeros(1,m1+n1);
y=[1:m1+n1];
%而後, 用Logitic 映射產生混沌序列:
for n=1:m1+n1-1
x(1)=s;
q=h;
x(n+1)=q*x(n)*(1- x(n));
end
%行置亂
for f=1:m1-1
for h=f:m1
if x(f)>x(h)
k=x(f);
x(f)=x(h);
x(h)=k;
m=y(f);
y(f)=y(h);
y(h)=m;
end
end
end
%列置亂
for f=m1+1:m1+n1-1
for h=f:m1+n1
if x(f)>x(h)
k=x(f);
x(f)=x(h);
x(h)=k;
m=y(f);
y(f)=y(h);
y(h)=m;
end
end
end
%行解密
for f=1:m1-1
for h=f:m1
if y(f)>y(h)
m=y(f);
y(f)=y(h);
y(h)=m;
c1=a(f,:,:);
a(f,:,:)=a(h,:,:);
a(h,:,:)=c1;
end
end
end
複製代碼
1 matlab版本 2014a算法
2 參考文獻 [1] 蔡利梅.MATLAB圖像處理——理論、算法與實例分析[M].清華大學出版社,2020. [2]楊丹,趙海濱,龍哲.MATLAB圖像處理實例詳解[M].清華大學出版社,2013. [3]周品.MATLAB圖像處理與圖形用戶界面設計[M].清華大學出版社,2013. [4]劉成龍.精通MATLAB圖像處理[M].清華大學出版社,2015.markdown