📄 feixianxing.m
字号:
clear all;
Image=double(imread('e:\work\lena.jpg'));
figure(1)
subplot(2,2,1)
imshow(Image,[]);%显示原始图像
title('原始图像');
Image=uint8(Image);
figure(1)
subplot(2,2,2)
imhist(Image);
title('原始图像的直方图');
Image=double(Image);
key1=3.9;
key2=0.7;
Kimage=double(zeros(size(Image)));
Kimage1=double(zeros(size(Image)));
Kimage2=double(zeros(size(Image)));
Kimage3=double(zeros(size(Image)));
key=0;
% Himage=zeros(size(Image));
Ih=size(Image,1);%图像的长度
Iw=size(Image,2);%图像的宽度
% Kimage(1)=key2;
for(i=1:Ih)
for(j=1:Iw)
key2=key1*(key2*(1-key2));
% key=mod((key2*256),256);
Kimage1(i,j)=key2;
Kimage2(i,j)=key2;
Kimage3(i,j)=key2;
end
end
for(i=1:Ih)
for(j=1:Iw)
Kimage(i,j)=Kimage1(i,j)*Kimage2(i,j)+(1-Kimage1(i,j))*Kimage3(i,j);
% Image(i,j)=mod((Kimage(i,j)+Image(i,j)),256);
end
end
m=double(zeros(size(257)));
for(i=1:257)
m(i)=sin(((i-1)*pi)/512);
end
for(i=1:Ih)
for(j=1:Iw)
for(k=0:256)
while (Kimage(i,j)<m(k+1))&(Kimage(i,j)>=m(k))
Kimage(i,j)=k;
end
% break
end
Image(i,j)=mod((Kimage(i,j)+Image(i,j)),256);
end
end
% Image=mod((Kimage+Image),256);
figure(1)
subplot(2,2,3)
imshow(Image,[]);
title('加密图像');
Image=uint8(Image);
figure(1)
subplot(2,2,4)
imhist(Image);
title('加密图像的直方图');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -