📄 cat_scrambling.m
字号:
%%%%%%%%%%%%%% anold cat 映射 %%%%%%%%%%%%%%%%%%%%%
%% 图像是N * N 的灰度图像
originimage=imread('50.bmp'); %%%%%%%%一定是方阵
origin=rgb2gray(originimage);
temp=origin;
figure,imshow(origin)
n=length(temp)
m=0;
a=20;
b=10;
c=a*b+1;
flag=0;
%%%%%%%%%%%cat映射要求 下标从0开始, 0~(n-1)
while flag==0
for i=0:n-1 %%%%%%%%%%% 置换一次
for j=0:n-1
x=mod(i+a*j,n);
y=mod(b*i+c*j,n);
lastimage(x+1,y+1)=temp(i+1,j+1);
end
end
m=m+1; %% 置换一次完毕
if(mod(m,5)==0) %%每5个加密图像显示一次
{
figure,imshow(lastimage),title('每加密5次的图像')
}
end
if(origin==lastimage) %%%%置换多少次出现重复
flag=1;
figure,imshow(lastimage),title('出现重复的图像')
else
temp=lastimage;
end
end
m
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -