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

📄 chazhi.m

📁 数字图象加密程序(编写的数字图象加密程序)
💻 M
字号:
clear all;

Ximage=double(imread('D:\work\lena.jpg'));
% Yimage=double(imread('D:\work\cameraman.jpg'));
Ih=size(Ximage,1);%图像的长度
Iw=size(Ximage,2);%图像的宽度
Biao=(Ih*Iw)/256;
Junfang=double(zeros(1,8));


Himage=double(zeros(size(Ximage)));
Timage=double(zeros(size(Ximage)));
Timage=Ximage;
Yimage=double(zeros(size(Ximage)));
Image=double(zeros(size(Ximage)));

for(t=1:8)
figure(t)
subplot(3,2,1)
imshow(Ximage,[]);%显示原始图像
title('原始图像1');
Ximage=uint8(Ximage);
figure(t)
subplot(3,2,2)
imhist(Ximage);
title('原始图像1的直方图');
Ximage=double(Ximage);
True=double(zeros(1,256));
% figure(t)
% subplot(3,2,3)
% imshow(Yimage,[]);%显示原始图像
% title('原始图像2');
% Yimage=uint8(Yimage);
% figure(t)
% subplot(3,2,4)
% imhist(Yimage);
% title('原始图像2的直方图');
% Yimage=double(Yimage);



key1=3.9;
key2=0.2;
key=0;


% for(i=1:Ih)
%         for(j=1:Iw)
%             key2=key1*(key2*(1-key2));
% %             key=mod((key2*256),256);
%             Image(i,j)=key2*(Image(i,j)-Yimage(i,j))+Yimage(i,j);            
%         end
% end

for(i=1:Ih)
        for(j=1:Iw) 
            key2=key1*(key2*(1-key2));
            key=key1^key2;
            Himage(i,j)=key;
            key=mod((key2*256),256);
            Yimage(i,j)=round(key); 
%             Image(i,j)=mod(Himage(i,j)*(Ximage(i,j)-Yimage(i,j))+Yimage(i,j),256);
%             Image(i,j)=round(Image(i,j));
        end
end

for(i=1:Ih)
        for(j=1:Iw)
%              Image(i,j)=mod((Himage(i,j)+Ximage(i,j)+Yimage(i,j)),256);
               Image(i,j)=mod(Himage(i,j)*(Ximage(i,j)-Yimage(i,j))+Yimage(i,j),256);
%              Image(i,j)=round(Image(i,j));
%                Junfang(t)=Junfang(t)+(Image(i,j)-Timage(i,j))^2;
         end
end
     
figure(t)
subplot(3,2,3)
imshow(Yimage,[]);%显示原始图像
title('原始图像2');
Yimage=uint8(Yimage);
figure(t)
subplot(3,2,4)
imhist(Yimage);
title('原始图像2的直方图');
Yimage=double(Yimage);

figure(t)
subplot(3,2,5)
imshow(Image,[]);
title('加密图像');
Image=uint8(Image);
figure(t)
subplot(3,2,6)
imhist(Image);
title('加密图像的直方图');
Image=double(Image);
Ximage=Image;
% Himage=Image;
% Image=Yimage;
% Yimage=Himage;

% for(i=1:Ih)
%         for(j=1:Iw)
%             for(k=1:256)
%                 if(Image(i,j)==(k-1))
%                     True(k)=True(k)+1;
%                 end
% %             break
%             
%             end
%         end
%     end
%   for(k=1:256) 
%       True(k)=(True(k)-Biao)^2;
%       Junfang(t)=Junfang(t)+True(k);
%   end
% 
%   
% end
% for(k=1:15)
%       Junfang(k)=Junfang(k)/(Ih*Iw);
% end
end

⌨️ 快捷键说明

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