资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
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 SettingsOwnerjmjmtp.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:3a(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); endendsubplot(2,2,3);imshow(a);x=l/16;y=m/16;a(:,:,1)=flipud(a(:,:,1);a(:,:,2)=fliplr(a(:,:,2);a(:,:,3)=a(:,:,3);for i=0:15 for j=0:15a(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); endendsubplot(2,2,2);imshow(a);imwrite(a,jiamihou.jpg);for i=0:15 for j=0:15a(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); endenda(:,:,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:3a(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); endendsubplot(2,2,4);imshow(a);imwrite(a,jiemihou.jpg);七、 实验结果原图片加密后的图片解密后的图片八、 实验分析优点:该加密算法原理简单,编程易实现,加密效果较好。缺点:解密过程简便,易破解。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号