【圖像加密】基於matlab logistic混沌圖像加密與解密【含Matlab源碼 1216期】

1、簡介

混沌系統圖像加密解密理論部分參考連接:
基於混沌系統的圖像加密算法設計與應用git

2、部分源代碼

%加密程序
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

3、運行結果

在這裏插入圖片描述
在這裏插入圖片描述

4、matlab版本及參考文獻

1 matlab版本
2014a算法

2 參考文獻
[1] 蔡利梅.MATLAB圖像處理——理論、算法與實例分析[M].清華大學出版社,2020.
[2]楊丹,趙海濱,龍哲.MATLAB圖像處理實例詳解[M].清華大學出版社,2013.
[3]周品.MATLAB圖像處理與圖形用戶界面設計[M].清華大學出版社,2013.
[4]劉成龍.精通MATLAB圖像處理[M].清華大學出版社,2015.markdown

相關文章
相關標籤/搜索