arnold(猫脸变换)

arnold(猫脸变换)

ID:39961364

大小:731.00 KB

页数:14页

时间:2019-07-16

arnold(猫脸变换)_第1页
arnold(猫脸变换)_第2页
arnold(猫脸变换)_第3页
arnold(猫脸变换)_第4页
arnold(猫脸变换)_第5页
资源描述:

《arnold(猫脸变换)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、arnold(猫脸变换)arnold(猫脸变换)Arnold变换,俗称猫脸变换.设像素的坐标x , y ∈S = {0, 1, 2, „, N-1},则Arnold变换为:   原文图像 密  文 原文图像 加密 解密 密钥 密钥 数字图像加密算法研究与实现式中的N表示数字图像的阶数,(x,y)为像素点的坐标。  将二维Arnold变换应用在图像f(x,y)上,可以通过像素坐标的改变而改变原始图像灰度值的布局。原始图像可以看作一个矩阵,经过Arnold变换后的图像会变的“混乱不堪”,由于Arnold变换的周期性,继续使用Arnold变换,可以重现图像[1]。利用Arnold变换

2、的这种特性,可实现图像的加密与解密。n维Arnold变换同二维Arnold变换一样具有周期性,继续使用Arnold变换,也可以重现原始图像。利用n维Arnold变换对图像的相空间进行置乱,也能实现图像的加密。arnold(猫脸变换)Arnold变换是V.J.Arnold在遍历理论的研究中提出的一种变换,原意为catmapping,俗称猫脸变换。Arnold变换直观、简单、具有周期性,使用非常方便。Arnold变换的原理是先作x轴方向的错切变换,再作y轴方向的错切变换,最后的模运算相当于切割回填操作。arnold(猫脸变换)matlab代码functionindex=arnold

3、(row,col,s,number)%Thisfunctionistopermutatematrix%rowandcolarethecoordinatesofmatrix%sisthesizeofmatrix%numberisthenumberofpermutationpermutate=[11;12];index=mod((permutate*[row-1;col-1]),s);fori=1:number-1index=mod((permutate*index),s);end矩阵大小与置乱周期的关系clc;clear;permutation=[11;12];m=[1;1];s

4、=48;n=mod((permutation*m),s);N=1;while1n=mod((permutation*n),s);N=N+1;ifn==mbreak;endendN矩阵大小与置乱周期的关系加密图像functiona=arnold()%读取图像aa=imread('C:UsersAdministratorDesktoplena.bmp');%置换次数iTimes=1;%读取aa图像大小[iHiW]=size(aa);ifiH~=iW%必须是正方形error('Thecovermustbeasquare!');return;end%矩阵转换out

5、Img=uint8(zeros(iH,iW));tempImg=aa;fori=1:iTimesforu=1:iHforv=1:iWtemp=tempImg(u,v);%置乱取模运算ax=mod(3*(u-1)-(v-1),iW)+1;ay=mod((v-1)-2*(u-1),iW)+1;outImg(ax,ay)=temp;endendtempImg=outImg;endoutImg=tempImg;%图像展示figure,imshow(outImg);%将置乱后的图像保存为:imwrite(outImg,'C:UsersAdministratorDesk

6、topmysecret.bmp')原始图像一次猫脸变换后解密图像functiona=unarnold()%读取加密图像aa=imread('C:UsersAdministratorDesktopmysecret.bmp');%和原来一样置换一次iTimes=1;[iHiW]=size(aa);ifiH~=iW%必须是正方形error('Thecovermustbeasquare!');return;endoutImg=uint8(zeros(iH,iW));tempImg=aa;fori=1:iTimesforu=1:iHforv=1:iWtemp=tempImg(u

7、,v);ax=mod((u-1)+(v-1),iW)+1;ay=mod(2*(u-1)+3*(v-1),iW)+1;outImg(ax,ay)=temp;endendtempImg=outImg;endoutImg=tempImg;figure,imshow(outImg);%输出原图imwrite(outImg,'unmysecret.bmp')解密后谢谢!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。