MATLAB数字图像加密

一、 实验名称
MATLAB数字图像加密
二、 实验目的
熟悉MATLAB编译环境;
掌握基本的矩阵操作;
了解初级的加密算法。
三、 实验环境
WindowsXP操作系统,MATLABR2010a编译环境
四、 实验原理
将数字图像划分成块,对RGB矩阵进行转置、水平翻转、垂直翻转等变换,形成新的矩阵,实现对图像的加密。
五、 实验过程
1.获取数字图像存入矩阵;
2.获取矩阵大小存入变量;
3.将矩阵划分成等大的4*4子矩阵;
4.分别对存储图像RGB信息的矩阵进行转置、水平翻转、垂直翻转等变换;
5.再次细化矩阵,将矩阵划分成等大的16*16子矩阵;
6.分别对存储图像RGB信息的矩阵进行转置、水平翻转、垂直翻转等变换;
7.加密完成,存储加密后的图像;
8.逆推过程,完成解密,存储解密后的图像。
六、 源程序
a=imread('C:\Documents and Settings\Owner\×ÀÃæ\jm\jmtp.jpg');
subplot(2,2,1);
imshow(a);
[l,m,n]=size(a);
x=l/4;
y=m/4;
for i=0:3
    for j=0:3
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)=a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)';
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2)=flipud(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2));
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3)=fliplr(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3));
    end
end
subplot(2,2,3);
imshow(a);
x=l/16;
y=m/16;
a(:,:,1)=flipud(a(:,:,1));
a(:,:,2)=fliplr(a(:,:,2));
documents安卓版破解版a(:,:,3)=a(:,:,3)';
for i=0:15
    for j=0:15
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)=a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)';
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2)=flipud(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2));
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3)=fliplr(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3));
    end
end
subplot(2,2,2);
imshow(a);
imwrite(a,'jiamihou.jpg');
for i=0:15
    for j=0:15
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)=a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)';
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2)=flipud(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2));
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3)=fliplr(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3));
    end
end
a(:,:,1)=flipud(a(:,:,1));
a(:,:,2)=fliplr(a(:,:,2));
a(:,:,3)=a(:,:,3)';
x=l/4;
y=m/4;
for i=0:3
    for j=0:3
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)=a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),1)';
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2)=flipud(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),2));
a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3)=fliplr(a((j*x+1):((j+1)*x),(i*y+1):((i+1)*y),3));
    end
end
subplot(2,2,4);
imshow(a);
imwrite(a,'jiemihou.jpg');
七、 实验结果
原图片
加密后的图片                                解密后的图片
               

八、 实验分析
优点:该加密算法原理简单,编程易实现,加密效果较好。
缺点:解密过程简便,易破解。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。