图像置乱
- 格式:doc
- 大小:631.50 KB
- 文档页数:11
一种新的图像置乱算法背景图像置乱是一种常用的保护图像信息安全的手段。
它通过改变图像像素的位置、颜色等属性来使得图像难以被识别和破解。
目前已有很多种图像置乱算法,但是随着计算机技术的不断发展,这些算法的安全性越来越受到质疑。
因此,本文提出了一种新的图像置乱算法,旨在提高图像信息的安全性。
算法设计本文提出的新算法被称为“混沌转换置乱算法”(CTPA)。
它通过引入混沌映射和置换过程来改变图像像素的分布和位置,从而实现图像置乱的目的。
混沌映射混沌映射是一种具有完全不可预测性质的映射,它可以将一个初始值映射到一个看似随机的数列中。
本文采用的混沌映射函数是Logistic映射,它的计算公式为:x n+1=rx n(1−x n)其中,r是一个常数,x0是初始值,x n是第n个数。
通过不断迭代,我们可以得到一个看似随机的数列。
我们将这个数列作为置乱算法的密钥,用于改变图像像素的位置和分布。
置换过程置换过程是指将图像中的像素点重新排列,从而达到图像置乱的目的。
本文采用的置换过程是基于混沌映射的置换算法。
其具体步骤如下:1.将图像分成N个块,每个块包含m个像素点。
2.对每个块中的像素点进行坐标映射。
具体做法是将每个像素点的横纵坐标根据混沌映射函数计算得到一个新的坐标,并将该像素点置换到新坐标所对应的位置。
置换过程中需要注意边缘像素点的处理。
3.对所有置换后的块进行合并,得到置乱后的图像。
算法实现本文采用Python语言实现了CTPA算法,并对其在一些常见图像上进行了实验验证。
我们采用了两种评价指标来评估算法的性能,分别是均方误差(MSE)和结构相似性指标(SSIM)。
实验结果表明,与传统的置乱算法相比,CTPA算法在保证图像置乱度的同时,能够更好地保持图像的清晰度和细节,具有更高的保密性和鲁棒性。
算法应用CTPA算法可以广泛应用于保护图像信息的安全。
例如,可以将其应用于网络安全、数字版权保护、反欺诈等领域。
在实际应用中,可以根据具体需求对算法的参数进行调整,以达到更好的性能和安全性。
第11卷 第8期2006年8月中国图象图形学报Journal of I m age and GraphicsVol .11,No .8Aug .,2006基金项目:国家自然科学基金项目(10226028);福建省泉州市科技重点项目(2004g27)收稿日期:2005206205;改回日期:2005209213第一作者简介:陈燕梅(1981~ ),女。
福建师范大学数学与计算机科学学院硕士研究生。
主要研究方向为密码学与信息安全。
E 2mail:happygirlcy m@基于AES 的数字图像置乱方法陈燕梅 张胜元(福建师范大学数学与计算机科学学院,福州 350007)摘 要 以图像信息安全问题为背景,介绍了高级加密标准(AES ):R ijndael 算法,并在此对称分组密码算法的基础上,提出了密钥控制下采用AES 算法进行图像置乱与恢复的方法。
该方法既安全又简便。
实验结果显示了图像置乱的效果,通过直方图的比较对此进行一定的分析,结果表明,这种方法能达到较好的加密与解密效果,而且易于实现。
关键词 高级加密标准(AES ) 数字图像 数字图像置乱 信息安全中图法分类号:T N911 文献标识码:A 文章编号:100628961(2006)0821076205A M ethod for D i g ita l I mage Scram bli n g Ba sed on AESCHE N Yan 2mei,ZHANG Sheng 2yuan(School of M athe m atics and Co m puter Science,Fujian N or m al U niversity,Fuzhou 350007)Abstract W ith the security p r oble m of i m age inf or mati on as research backgr ound,this paper intr oduces the AdvancedEncry p ti on Standard (AES ):R ijndael algorith m.Base on the sy mmetry bl ock ci pher alg orith m,a method for scra mbling and rest oring digital i m ages is p r oposed,which uses the AES alg orith m under the contr ol of secret key .Thismethod is safe aswell as si m p le .A si m ulati on sho ws the effect of i m age scra mbling,and it is analyzed by co mparis on of hist ogra m s .The results sho w that:this method can reach p referable effect of encry p ti on and decry p ti on,and further more,it ’s easy t o realize .Keywords advanced encryp ti on standard (AES ),digital i m age,digital i m age scra mbling,inf or mati on security1 引 言数字图像信息安全,是伴随着计算机网络和多媒体技术的迅速发展而产生的新问题。
几种常用的图像置乱算法作者:代会东令狐昌应伊洪冰蓝旭李严来源:《硅谷》2009年第21期图像置乱技术的目的是将图像噪声化,使得图像的能量尽量地均匀分布。
由于图像置乱可选取不同的方法,同样的方法可以设置不同的参数,组合起来的结果会千差万别,因此,将置乱作为图像加密的一种方法从安全的角度考虑是可行的。
下面从矩阵理论与方法角度介绍数字图像变换。
一、Arnold变换V.J.Arnold在遍历理论的研究中提了这一类变换:设平面点集对,则:点集在计算机屏幕上表现为单位正方形上离散像素组成的矩阵。
如果像素的坐标,那么上述变换转化为:记变换中的矩阵为,反复进行这一变换,则有迭代程序:其中: 为迭代第n步时点的位置。
图1给出了利用Arnold变换的girl.bmp的标准图像进行置乱的例子:原始图像 1 2 30100 150 191 192图1Arnold变换后的图像Arnold变换可以看作是裁剪和拼接的过程。
通过这一过程将离散化的数字图像矩阵中的点重新排列。
F.J.Dyson和H.Falk分析了离散Arnold变换的周期性,给出了对于任意,Arnold变换的周期。
实际应用中,通过计算机编程找到周期的结果如表1所示,显然T和N呈非线性关系。
表1不同阶数N下Arnold变换的周期二、幻方变换对于n阶矩阵A:若满足如下条件:其中,C为常数,即矩阵A的各行、各列、各对角线上的元素的和相等,则A称为n阶幻方。
特别的,当A中的个元素恰好为整数,则称矩阵A为n阶标准幻方。
对A中的元素作一次变换,将元素1移至元素2的位置,元素2移至元素3的位置,以此类推,最后将9处的像素移至1处。
矩阵A经过一次幻方变换后结果如下:利用8阶幻方对128128的girl.bmp标准图像进行加密的效果如图2所示:原始图像 1次 2次 30次图2利用8阶幻方加密1-4次的效果图其中幻方矩阵:幻方矩阵是一有限维矩阵,由其变换步骤可以看出,经过次置换,又会回到原来的位置,由此,幻方变换也具有周期性,且其变换周期就是。
数字图像置乱技术摘要随着多媒体技术、信息存储技术的飞速发展,以及网络带宽限制的放松,越来越多的数字图像得以在网络上传输,并逐步成为人们获取信息的主要手段。
网络上传输的数字图像有些无关紧要,有些却至关重要,这其中有可能涉及到个人隐私、公司利益、军事机密、国家安全,其价值无法衡量。
另一方面,Internet网络的日益普及使得任何人都有可能接触并搜集到网络中的图像信息,而不管它是善意的还是恶意的、合法的还是非法的,从而使得在网络上传输的图像安全倍受关注,字图像的安全已经成为信息安全领域中重要的研究分支,而置乱技术在数字图像加密技术中起着不可忽视的作用。
一般从客观景物得到的图像是二维的。
一幅图像可以用二维函数f(x,y)来表示,也可看作是一个二维数组,x和y表示二维空间XY中一个坐标点的位置,而f则代表图像在点(x,y)的某种性质F的数值。
例如常用的图像一般是灰度图像,此时f表示灰度值,它常对应客观景物被观察到的亮度。
需要指出,一般是根据图像内不同位置的不同性质来利用图像的。
本文为你重点介绍了数字图像置乱的原理,并介绍了两种基本的置换方法,分别是:二维坐标置乱法、基于Arnold变换的图像置乱方法,教你如何对你的图像进行加密,并对数字图像置乱程度进行测评,同时对未来可能的研究方向进行了展望。
选择了MATLAB7.1作为软件工具,所给出的程序代码均在其上测试通过。
关键词:MATLAB、数字图像置技术、二维坐标变换、Arnold变换、置乱度1、问题的提出随着网络技术的高速发展,大量的个人信息和公众信息在网上传播,使得信息安全显得日趋重要。
面对如此严峻的信息泄露问题,我们如何把一幅数字图像变换为一幅杂乱无章的加密图像,以保护个人隐私、公司利益、军事机密、国家安全,最后再通过解密过程,把置乱后的图像恢复为原始图像的过程为图像复原。
给出一张图形,对其进去以下操作:(1)大概分析数字图像加密解密原理;(2)设计两种图形置乱方法,运行并分析结果; (3)衡量评价图像置换程度; (4)分析总结两种方案。
数字图像置乱技术摘要随着多媒体技术、信息存储技术的飞速发展,以及网络带宽限制的放松,越来越多的数字图像得以在网络上传输,并逐步成为人们获取信息的主要手段。
网络上传输的数字图像有些无关紧要,有些却至关重要,这其中有可能涉及到个人隐私、公司利益、军事机密、国家安全,其价值无法衡量。
另一方面,Internet网络的日益普及使得任何人都有可能接触并搜集到网络中的图像信息,而不管它是善意的还是恶意的、合法的还是非法的,从而使得在网络上传输的图像安全倍受关注,字图像的安全已经成为信息安全领域中重要的研究分支,而置乱技术在数字图像加密技术中起着不可忽视的作用。
一般从客观景物得到的图像是二维的。
一幅图像可以用二维函数f(x,y)来表示,也可看作是一个二维数组,x和y表示二维空间XY中一个坐标点的位置,而f则代表图像在点(x,y)的某种性质F的数值。
例如常用的图像一般是灰度图像,此时f表示灰度值,它常对应客观景物被观察到的亮度。
需要指出,一般是根据图像内不同位置的不同性质来利用图像的。
本文为你重点介绍了数字图像置乱的原理,并介绍了两种基本的置换方法,分别是:二维坐标置乱法、基于Arnold变换的图像置乱方法,教你如何对你的图像进行加密,并对数字图像置乱程度进行测评,同时对未来可能的研究方向进行了展望。
选择了MATLAB7.1作为软件工具,所给出的程序代码均在其上测试通过。
关键词:MATLAB、数字图像置技术、二维坐标变换、Arnold变换、置乱度1、问题的提出随着网络技术的高速发展,大量的个人信息和公众信息在网上传播,使得信息安全显得日趋重要。
面对如此严峻的信息泄露问题,我们如何把一幅数字图像变换为一幅杂乱无章的加密图像,以保护个人隐私、公司利益、军事机密、国家安全,最后再通过解密过程,把置乱后的图像恢复为原始图像的过程为图像复原。
给出一张图形,对其进去以下操作:(1)大概分析数字图像加密解密原理;(2)设计两种图形置乱方法,运行并分析结果; (3)衡量评价图像置换程度; (4)分析总结两种方案。
二维Arnold 的图像置乱加密及解密——Matlab实现二维Arnold 的图像置乱加密及解密(1):RGB图像的处理基于Arnol变换的图像置乱Arnold变换是俄国数学家Vladimir I. Arnold提出的一种变换,一幅N ×N的数字图像的二维Arnold变换定义为:注意:x,y是原图像的像素坐标,x',y'是变换后的像素坐标。
保证|ad-bc|=1,如置换矩阵系数设为a=b=1,c=2,d=3,置换次数n=20,则他们被当作密钥key,用于解密。
Arnol变换的图像类型只能是N*N的图片。
RGB图像的二维Arnold 的图像置乱加密及解密(1)编写一个arnold.m文件与iarnold.m文件(见上一篇日志《二维Arnold 的图像置乱加密及解密——Matlab实现(1)》)(2)图像处理程序图像加密置乱:a=imread('flower.jpg'); %取预处理图像R=a(:,:,1); %取图像的R层像素G=a(:,:,2); %取图像的G层像素B=a(:,:,3); %取图像的B层像素subplot(2,2,1);imshow(a);title('original');subplot(2,2,2);imshow(R);title('R');subplot(2,2,3);imshow(G);title('G');subplot(2,2,4);imshow(B);title('B');keyR=[5,5,2,7,3];keyG=[3,1,1,2,1];keyB=[6,3,2,4,3]; %分别为RGB三层设计三个不同密钥aR=arnold(R,keyR);aG=arnold(G,keyG);aB=arnold(B,keyB);%对各层用不同的密钥加密figure;subplot(2,2,1);imshow(aR);title('aR');%加密后的图像subplot(2,2,2);imshow(aG);title('aG');subplot(2,2,3);imshow(aB);title('aB');aa=cat(3,aR,aG,aB); %各层加密后在合成彩色图像subplot(2,2,4); imshow(aa); title(' Permuted');%RGB图像加密后的结果imwrite(aa,'aflower.bmp');图像解密还原:b=imread('aflower.bmp'); %取加密后的图像aR1=b(:,:,1); %取图像R层的像素aG1=b(:,:,2); %取图像R层的像素aB1=b(:,:,3); %取图像R层的像素subplot(2,2,1);imshow(b);title('original');keyR=[5,5,2,7,3];keyG=[3,1,1,2,1];keyB=[6,3,2,4,3];%由加密方提共的密钥iaR=iarnold(aR1,keyR);iaG=iarnold(aG1,keyG);iaB=iarnold(aB1,keyB);%对各层进行解密subplot(2,2,2);imshow(iaR);title('iaR');subplot(2,2,3);imshow(iaG);title('iaG');subplot(2,2,4);imshow(iaB);title('iaB');c=cat(3,iaR,iaG,iaB); %将RGB三层合成彩色图像figure; imshow(c); title(' Decrypted'); %最后还原的图像imwrite(c,'jiemi.bmp');加密的复杂性分析:(1)置乱度图像置乱的目的在于打乱图像,使非法获取图像者无法识别图像内容,图像置乱度表明了图像被打乱的程度,图像经过置乱变换,越“乱”效果越好,保密性越好。
目录摘要 (2)第一章图像置乱技术简介 (3)1.1图像的Arnold置乱变换及其周期性 (4)1.2图像的Arnold置乱恢复 (5)第二章混沌序列用于图像置乱 (6)2.1 混沌序列 (6)2.2 混沌序列的产生 (6)2.3 常见的混沌序列 (6)第三章.混合光学双稳模型 (8)第四章混合光学双稳模型用于水印图像加密 (9)4.1 信息置乱算法 (9)4.2 利用混合光学双稳模型加密水印图象 (9)参考文献 (15)摘要图像置乱技术作为一种图像加密技术,已成为数字图像安全传输和保密存储的重要手段之一[37]。
所谓置乱,就是运用一定的规则搅乱图像中像素的位置或颜色,使之成为一幅杂乱无章的图像,从而达到无法辨认出原图像的目的。
近年来,随着数字水印技术的兴起,置乱技术又有了新的应用。
由于代表版权信息的多为图像水印,因此在水印的预处理阶段,可以通过置乱消除水印图像像素间的相关性,使水印呈现出类似白噪声的特性,在载体被部分破坏时可以分散错误比特的分布,从而提高水印系统的鲁棒性。
第一章图像置乱技术简介随着高质量图像输入输出设备的发展,特别是高精度彩色喷墨、激光打印机和高精度彩色复印机的出现,货币、支票以及商品包装等印刷品的伪造变得更加容易。
目前使用较多的印刷防伪技术存在一些弊端,迫切需要一种新的技术来解决印刷品的伪造问题。
因次,印刷数字水印技术应运而生。
因为印刷数字水印技术的关键是抵抗PS(打印和扫描)过程攻击,所以本文提出一种新的算法,该算法具有很好的鲁棒性,能够抵抗PS过程攻击。
出于鲁棒性考虑,我们对图像进行小波变换,选择在小波域的低频系数中嵌入二值水印。
同时算法结合人眼视觉系统(HVS)特性,保证了水印的不可见性。
水印嵌入强度的自适应选择基于两个方面:一方面是人眼对图像的纹理掩蔽特性,另一方面是亮度对比度掩蔽特性,综合考虑这两种掩蔽特性,是本算法的创新之一;水印采用新的混沌置乱算法进行置乱。
这种置乱算法基于混合光学双稳混沌序列,用混沌序列的初始值作为置乱的密钥。
图像置乱课程设计一、课程目标知识目标:1. 让学生理解图像置乱的基本概念,掌握图像置乱技术的作用和应用场景。
2. 学生能够掌握两种以上的图像置乱算法原理,并了解其优缺点。
3. 学生能够运用所学的图像置乱方法对图像进行处理,提高图像的保密性。
技能目标:1. 培养学生运用编程工具(如Python、MATLAB等)实现图像置乱算法的能力。
2. 提高学生分析图像置乱算法性能,选择合适算法解决实际问题的能力。
3. 培养学生团队协作能力,通过小组讨论、分享心得,共同优化图像置乱方案。
情感态度价值观目标:1. 培养学生对图像处理领域的兴趣,激发学生探索图像置乱技术的热情。
2. 培养学生严谨的科学态度,注重实证研究,遵循客观事实。
3. 增强学生的信息安全意识,让学生认识到图像置乱技术在保护隐私方面的重要性。
本课程针对高年级学生,结合图像处理学科特点,注重理论与实践相结合。
在教学过程中,关注学生个体差异,引导他们主动探究,培养创新意识和实践能力。
通过本课程的学习,使学生能够达到以上课程目标,为后续相关领域的学习和研究打下坚实基础。
二、教学内容1. 图像置乱基础理论:包括图像置乱的定义、分类及其在图像加密中的应用。
- 教材章节:第三章“图像加密技术”,第一节“图像置乱技术”- 内容安排:讲解图像置乱的基本概念,对比不同类型的图像置乱方法。
2. 图像置乱算法:介绍两种典型的图像置乱算法(如 Arnold 置乱和混沌置乱)。
- 教材章节:第三章“图像加密技术”,第二节“典型图像置乱算法”- 内容安排:详细讲解两种算法的原理、步骤及优缺点。
3. 图像置乱编程实践:利用编程工具(如Python、MATLAB)实现图像置乱算法。
- 教材章节:第四章“图像处理编程实践”,第一节“图像置乱编程实践”- 内容安排:指导学生编写代码,实现图像置乱算法,并进行性能分析。
4. 图像置乱应用案例分析:分析图像置乱在信息安全、图像隐藏等领域的应用。
1.什么是图像置乱概述:所谓“置乱”,就是将图像的信息次序打乱,将a像素移动到b像素的位置上,b像素移动到c像素的位置上……使其变换成杂乱无章难以辨认的图像。
数字图像置乱加密技术是指发送方借助数学或其他领域的技术,对一幅有意义的数字图像作变换使之变成一幅杂乱无章的图像再用于传输;在图像传输过程中,非法截获者无法从杂乱无章的图像中获得原图像信息,从而达到图像加密的目的;接收方经去乱解密,可恢复原图像。
为了确保图像的机密性,置乱过程中一般引入密钥。
定义:定义1:给定图像A=[a(i,j)]n*m,变换矩阵是T=[t(i,j)]n*m,是1,2,⋯,n×m的一种排列,用T作置乱变换,得到图像B。
其变换方法如下:将A与T按行列作一一对应,将A中对应位置1的像素灰度值(或RGB分量值)移到对应位置2,对应位置2的像素灰度值移到对应位置3,⋯⋯以此类推,最后将对应n*m位置的像素灰度值移到对应位置1,就得到了按T置乱后的图像B。
图像A经置乱变换T变换到了图像B,记为B=TA。
定义2:给定图像A=[a(i,j)]n*m,设变换T是{(x,y):1≤x≤n,1≤Y≤m'且x,y均为整数}到自身的1-1映射,即:将图像A中位置(x,y)处的元素变换到位置(x',y’)处,得到图像B,则称变换T是图像A的置乱变换,仍记为B=TA。
从数学本质上看,定义1和2投有实质的区别,只是使用场合不同。
从定义1可以看出,构造置乱变换等价于构造矩阵T。
不同的T则形成了不同的置乱变换。
从定义2可以看出,构造置乱变换就是构造{(x,y):1≤X≤n,1≤Y≤in,且x,y均为整数}到自身的1-1映射。
若C=TB=T(TA)=T2(A),则称C为A迭代置乱两次的图像。
以此类推,可以进行多次迭代置乱。
一般认为,置乱变换应该满足以下两个条件:(1)变换是离散点域{(x,y):0≤x,y≤N·1}到其自身的一一映射;(2)(2)变换是离散点域{(x,y):0≤x,y≤N—I}到其自身的满映射,即变换是可逆的。
数字图像置乱技术研究6.3.1图像置乱原理图像置乱技术属于图像加密技术,它通过对图像像素矩阵的重排,破坏了图像矩阵的相关性,以此实现信息的加密,达到安全传输图像的目的。
图像置乱的实质是破坏相邻像素点间的相关性,使图像“面目全非”,看上去如同一幅没有意义的噪声图像。
单纯使用位置空间的变换来置乱图像,像素的灰度值不会改变,直方图不变,只是几何位置发生了变换。
置乱算法的实现过程可以看做是构造映射的过程,该映射是原图的置乱图像的一一映射,如果重复使用此映射,就构成了多次迭代置乱。
我们假设原始图像为0A ,映射关系用字母σ表示,得到的置乱图像为1A ,则原图到置乱图像的关系,可简单的表示为:10A A −→−σ例如:原始图像用矩阵0A 表示,置乱后的图像为1A , ij a 代表坐标为(),x y 的像素点的灰度:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=333231302322212013121110030201000a a a a a a a a a a a a a a a a A ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=12002133112010023*******312322131a a a a a a a a a a a aa a a a A (6.3.1) 置乱映射σ的元素存在两种形式:一种是序号形式,用()j width i +*表示图像中像素的排列序号;一种是坐标形式,()j i ,表示第i 行第j 列。
则相应的置乱映射σ可表示如下:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1253720131011511948614σ或者()()()()()()()()()()()()()()()()⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡0,31,13,03,12,00,01,32,21,03,33,21,20,10,22,12,3 (6.3.2) 映射τ中的元素表示:原图中该点元素在置乱后图像中的位置。
比如坐标为(0,1)的像素点最后变换到(1,2)这个位置上。
因此使用置乱映射σ进行迭代置乱,原图0A 应用映射τ迭代适当的次数后,能够得到理想置乱图像。
对1A 应用逆置乱映射,还原得到原始图像0A :110A A −−→−-σ6.3.2基于变换矩阵的图像置乱我们一般处理的图片都是平面图片,即所谓的二维图片。
二维数字图像可以看作是平面区域D 上的二元函数D y x y x F Z ∈=),(),,(。
在绝大多数情况下区域D 是一个矩形,对D 中任意的点y x y x ,),,(表示其像素点的位置,而),(y x F 代表图像的信息(灰度图像是灰度值,彩色图像是RGB 分量值等)。
当图像数字化之后,图像),(y x F Z =则对应于数学中的一个矩阵,其元素所在的行与列),(y x 对应于自变量取值,数字图像离散化后是相应于元素之间有相关性的一类特别的矩阵。
通过数学中矩阵的初等变换可以将图像转换为另一幅图像,从而达到置乱的目的,但其置乱作用较差,因为初等变换是整行或整列进行变换,并不是对矩阵中每个点进行变换。
而一些非线性变换则有可能对图像置乱起到较好的作用。
现介绍目前几种常见的图像置乱方法。
1 基于Fibonacci 变换的图像置乱Fibonacci 变换的基本原理与Arnold 变换一样,只是变换的矩阵稍有不同。
设图像的像素的坐标},1N ,,2,1,0{S y ,x -=∈ Fibonacci 变换为:)(mod 0111''N y x y x ⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡ (6.3.3) 如图表示380×380的miingxing 图像进行Fibonacci 变换的置乱效果图6.3.1 fibonacci 算法的置乱图像 6.3.1 algorithm scrambling image(a )原图(b)7次置乱(c)30次置乱用MATLAB实现fibonacci变换置乱的程序如下:function [ fibonacci ]i=imread('');%进行fibonacci变换的原图k=imresize(i,[380,380]);%把图片尺寸变换成380×380的j=rgb2gray(k);%灰度化处理subplot(1,3,1),imshow(j),title('原始图片')size_j=size(j);q=size_j;for t=1:7for a=1:qfor b=1:qc=a-1;d=b-1;e=mod(c+d,380);d=mod(c+0*d,380);m=e+1;n=d+1;h(m,n)=j(a,b);endendj=h;endsubplot(1,3,2),imshow(j),title('7次置乱图片')%输出7次置乱图片for t=1:23for a=1:qfor b=1:qc=a-1;d=b-1; e=mod(c+d,380); d=mod(c+0*d,380); m=e+1; n=d+1; h(m,n)=j(a,b); end end j=h; endsubplot(1,3,3),imshow(j),title('30次置乱图片')%输出30次置乱图片 end2 基于排列变换的图像置乱设图像像素的坐标}1N ,,2,1,0{S y ,x -=∈ ,排列变换表示为:Z k S y x N y x k k y x ∈∈⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡+=⎥⎦⎤⎢⎣⎡,,),(mod 111'' (6.3.4) 式子(6.3.4)和Arnold 变换的变换方法一样,也只是变换矩阵有些变化,很容易看出:Fibonacci 变换就是式()中,k=0,Arnold 变换就是k=1。
如图6.3.2用大小为380×380的baoba 灰度图像表示置乱效果,假设k=6。
图6.3.2 排列算法(k=6)的置乱图片 6.3.2 a algorithm scrambling image3 基于亚仿射变换的图片置乱设图像像素坐标}1N ,,2,1,0{S y ,x -=∈ ,亚仿射变换为:Z d c b a S y x N y x d c b a y x ∈∈⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡,,,,,,),(mod '' (6.3.5) 其中1c b d a ±=⨯-⨯,同样亚仿射变换依然和前面介绍的Arnold 变换方法一样。
只是变换矩阵更加的一般化。
取33d ,7c ,14b ,3a ====,如图6.3.3是用大小为450×450的图像表示其置乱效果。
图6.3.3 亚仿射算法的置乱图片Fig.6.3.3 The affine algorithm scrambling image6.3.3基于Arnold 变换的数字图像置乱Arnold 变换置乱Arnold 变换又称猫脸变换,设想在平面单位正方形内绘制一个猫脸图像,通过下述变换,猫脸图像将由清晰变的模糊。
矩阵表示即为:)mod(2111''N y x y x ⎪⎪⎭⎫⎝⎛⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛ (6.3.6) )','(y x 是图像中),(y x 的像素变换后的新的位置。
反复进行此变换,即可得到置乱的(a)原图 (b)1次置乱 (c)10次置(a)原图(b)10次置(c)50次置图像。
图像的二维Arnold变换,实现像素位置的置乱,所以经过Arnold变换处理的图像,其灰度直方图与原图一样。
下面以380×380的renwu图像进行10次、50次、90次置乱之后的图像,在90次置乱后,又回到原始图像。
图6.3.4 Arnold算法置乱图片Fig.6.3.4 Arnold algorithm scrambling image用MATLAB实现Arnold变换的程序如下:function [ Arnold ]i=imread('');%进行Arnold变换的原始图片k=imresize(i,[380,380]);%图片尺寸变换为380×380的j=rgb2gray(k);%图片进行灰度化处理subplot(1,4,1),imshow(j),title('原始图片')size_j=size(j);q=size_j;for t=1:10for a=1:qfor b=1:qh(mod(a+b,q)+1,mod(a+2*b,q)+1)=j(a,b);%进行矩阵变换endendj=h;end(a)原图(b)10次置(c)50次置(d)90次置subplot(1,4,2),imshow(j),title('10次置乱图片')%输出10次置乱图片for t=1:40for a=1:qfor b=1:qh(mod(a+b,q)+1,mod(a+2*b,q)+1)=j(a,b);endendj=h;endsubplot(1,4,3),imshow(j),title('50次置乱图片')for t=1:40for a=1:qfor b=1:qh(mod(a+b,q)+1,mod(a+2*b,q)+1)=j(a,b);endendj=h;endsubplot(1,4,4),imshow(j),title('90次置乱图片')%输出一个变换周期后的图片Arnold变换的周期性对于数字图像来说,可以将其看成是一个函数在离散网格点处的采样值,这样我们就得到了一个表示图像的矩阵.矩阵中元素的值是对应点处的灰度值。
对于正方形数字图像,我们的离散化的Arnold变换式(6.3.6),其中N为图像的宽度和高度,即图像矩阵的阶数。
数字图像经过Arnold变换后,变得混乱不堪,继续使用Arnold变换若干次后,会呈现与原图一样的图片,说明Arnold变换具有周期性。
置乱变换的周期性变换性质,对于研究图像的恢复有积极的作用。
定理6.3.1 给定自然数2>N ,Arnold 变换式()的周期N m ,是使式()成立的最小自然数n :⎥⎦⎤⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+++++11)mod (251251512512515132322222N n n n n(6.3.7)此定理的证明此处不再详细描述。
由定理6.3.1可以得出以下推论:给定自然数2>N ,Arnold 变换式()的周期N m ,是使式()成立的最小自然数n :()⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡11N mod 11n A (6.3.8)其中⎥⎦⎤⎢⎣⎡=2111A ,N 是图像矩阵的阶数。