%随机打乱各层的行
clear;
clc;
%读取图像
RGB=imread('D:\touxiang.jpg');
%图像加密
s=size(RGB);
r=randsample(s(1),s(1));
l=length(r);
RGBS=RGB(r,:,:);
%图像解密
t=1;j=1;f=1:r;
for t=1:l
f(j)=find(r==t);
t=t+1;
j=j+1;
end
RGBE=RGBS(f,:,:);
%图像加密与解密展示
subplot(1,3,1);
imshow(RGB);
title('原图像');
subplot(1,3,2);
imshow(RGBS);
title('加密图像');
subplot(1,3,3);
imshow(RGBE);
title('解密图像');
%随机打乱像素点
clear;
clc;
%读取图像
G=imread('D:\touxiang.jpg');
subplot(1,3,1);
imshow(G);
title('原图像');
Gadd=fix(256*rand(256,256,3));
%G1=zeros(256,256,3);G2=zeros(256,256,3);
for i=1:256
for j=1:256
G1(i,j)=0.1*G1(i,j)+0.9*Gadd(i,j);
end
end
subplot(1,3,2);
imshow(G1);
title('加密图像');
for i=1:256
for j=1:256
G2(i,j,:)=(G1(i,j)-0.9*Gadd(i,j))./0.1;
end
end
subplot(1,3,3);
imshow(G2);
title('解密图像');