arnoldfunction.m

来自「基于Anold变换的图像置乱函数——matlab ?贏nold变换的图像置乱」· M 代码 · 共 228 行

M
228
字号
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');
% 
% 
% 
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');
% %参数说明
% %x,待置乱的图像矩阵
% % a,b,c,d,Anold置乱参数
% % N,置乱的图像矩阵的大小.(对于方阵而言)
% % k,第几次置乱,它决定写入的文件名.
% % map1,置乱图像的颜色图.
% 
% 
% function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
% for m=1:N
%   for n=1:N
%参数说明
%x,待置乱的图像矩阵
% a,b,c,d,Anold置乱参数
% N,置乱的图像矩阵的大小.(对于方阵而言)
% k,第几次置乱,它决定写入的文件名.
% map1,置乱图像的颜色图.


function [y]=Arnoldfunction(x,a,b,c,d,N,k,map1)
for m=1:N
  for n=1:N
    m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
    n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
    if m1==0
    m1=N;%当m1=0时,进行特殊处理
    end
    if n1==0
    n1=N; %当n1=0时,进行特殊处理
    end
    y(m1,n1)=x(m,n);%给新坐标下的像素赋值
  end
end
zl=int2str(k);
z=strcat(zl,'.bmp')
imwrite(y,map1,z,'bmp');
%     m1=mod(a.*m+b.*n,N); %计算新的像素横坐标的值
%     n1=mod(c.*m+d.*n,N);%计算新的像素纵坐标的值
%     if m1==0
%     m1=N;%当m1=0时,进行特殊处理
%     end
%     if n1==0
%     n1=N; %当n1=0时,进行特殊处理
%     end
%     y(m1,n1)=x(m,n);%给新坐标下的像素赋值
%   end
% end
% zl=int2str(k);
% z=strcat(zl,'.bmp')
% imwrite(y,map1,z,'bmp');

⌨️ 快捷键说明

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