⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arnold.m

📁 图像置乱
💻 M
字号:
function M = Arnold(Q,Frequency,crypt)

M = Q;
Size_Q = size(Q);
n = 0;
K = Size_Q(1);  
M1_t = Q;
M2_t = Q;

if crypt==1   %解密
    Frequency=ArnoldPeriod( Size_Q(1) )-Frequency;%通过周期减去迭代的次数,用此数据作为新的迭代次数,可以达到解密的目的
end 

%以下间隔的用到了M1_t,M2_t作为临时的储存空间
%以下是加密算法
for s = 1:Frequency
    n = n + 1;
    if (mod(n,2) == 0)
        for i = 1:K
            for j = 1:K
                c = M2_t(i,j);
                M1_t(mod(i+j-2,K)+1,mod(i+2*j-3,K)+1) = c;
            end
        end
    else
        for i = 1:K
            for j = 1:K
                c = M1_t(i,j);
                M2_t(mod(i+j-2,K)+1,mod(i+2*j-3,K)+1) = c;
            end
        end
    end
end

%根据迭代的次数,确定此时的图像信息。这和上面的程序代码紧密联系,仔细看看。
if (mod(Frequency,2) == 0)
    M = M1_t;
else
    M = M2_t;
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -