资源描述:
《MATLAB图片加密》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法1.把图像的数据重塑成一维的形式,对其进行置乱;CODE:M文件%producebyJude-Z20110701clearcloseclcG=imread('F:Lenna.jpg');%读取F盘根目录下的Lenna.jpg图片(已修改为256×256灰度)subplot(1,3,1);imshow(G);%显示图像title('原图');%title一下原图A=G(:);%将G转换为一维形式A1=G(end:-1:1);%将A进行逆排列置乱subplot(1,3,2);imshow(A1);%显示变为一维且置乱后的图像titl
2、e('一维置乱');%title一下A2=A1(end:-1:1);%图像还原A2G=reshape(A2,256,256,3);subplot(1,3,3)imshow(A2G)%显示还原后的图像title('置乱恢复');%title一下实验截图算法2.把图像看成二维的形式,采用二维坐标的形式对其进行置乱;clearcloseclcG=imread('F:Lenna.jpg');%读取F盘根目录下的Lenna.jpg图片(已修改为256×256灰度)subplot(1,3,1);imshow(G);%显示图像title('原图'
3、)%title一下原图Gadd=fix(256*rand(256,256,3));%引入的置乱随机矩阵fori=1:256forj=1:256G1(i,j)=0.1*G(i,j)+0.9*Gadd(i,j);%进行加权求和endendsubplot(1,3,2)imshow(G1);%显示图像title('置乱后的图像')fori=1:256forj=1:256G2(i,j)=(G1(i,j)-0.9*Gadd(i,j))./0.1;%还原图像endendsubplot(1,3,3)imshow(G2);%显示图像title('恢复后
4、的图像');实验截图算法3.利用arnold变换(猫脸变换)对图像进行置乱,并检验arnold的周期性(即变换周期为N时,采用arnold变换N次后,可以恢复原有图像)%producebyjude_z20110701closeclearclcG=imread(‘F:Lenna.jpg’);%读取图片subplot(2,2,1)imshow(G);%显示图片title(‘原图’)fork=1:192%迭代次数forx=1:256fory=1:256x1=x+y;y1+x+2*y;ifx1>256x1=mod(x1,256);end;i
5、fy1>256y1=mod(y1,256)endifx1==0;x1=256;endify1==0y1=256;endG_TR(x1,y1)=G(x,y);endendifk==1%显示一次迭代结果subplot(2,2,2)imshow(G_TR);title(‘一次迭代’);endifk==2%显示第二次迭代结果subplot(2,2,3)imshow(G_TR);title(‘二次迭代’);endendsubplot(2,2,4)%显示192次迭代结果imshow(G_TR);title(‘192次迭代复原’);算法4.查找相关
6、文献,再找出至少一种算法对其进行置乱基于采样技术的数字图形变换%producebyjude_z20110701closeclearclcG=imread('F:Lenna.jpg');%读取图片subplot(2,2,1)imshow(G);%显示图片title('原图')G1=reshape(G,4,4,64,64,3);forkt=1:2G2=zeros(64,64,4,4,3);fori=1:64forj=1:64fork1=1:4fork2=1:4endendendendG3=reshape(G2,4,4,64,64,3);
7、endG4=reshape(G3,256,256,3);subplot(2,2,2)imshow(G4,[])title('经16次变换的图形')实验截图