一种基于Kirkman女生问题解决方案的图像置乱方法

文档序号:6377082阅读:311来源:国知局
专利名称:一种基于Kirkman女生问题解决方案的图像置乱方法
技术领域
本发明涉及一种基于世界著名的Kirkman女生问题解决方案的图像置乱方法,是一种信息隐藏预处理方法和图像加密手段,属于数字图像处理领域。
背景技术
随着多媒体技术和互联网的迅速发展,数据量庞大而且难以存储和传输的图像越来越频繁的出现在计算机屏幕上,图像信息在网络存储和传输过程中很容易被非法截取,从而导致比较严重的后果和损失,因此信息的安全性和有效性越来越成为人们关注的焦点,对数字图像进行可靠的加密处理进而显得尤为必要。而数字图像置乱技术是一种有效的信息隐藏预处理方法和图像加密手段。图像置乱是一种重要的图像加密方法,其主要目的是将给定的图像进行扰乱,从而使得人们无法通过人类视觉系统和计算机系统来发现原始图像表达的真正含义。目前空域图像置乱方法有两类一类是基于位置变换的图像置乱 方法利用相应方法在保证像素总个数不变的基础上将一幅图像各像素的次序打乱。典型的像素位置置乱方法有基于正交拉丁方、原根、幻方、Hilbert曲线以及仿射变换等 ’另一类是基于像素灰度值变换的图像置乱方法利用置乱方法改变像素值。另外,已经存在的置乱技术颇多,但其中基于像素灰度值变换的图像置乱方法相对来说还是比较少的,因此研究一种好的基于像素灰度值变换的图像置乱方法目前具有较大的挑战性。并且已存在的基于排序的置乱方法大都是基于像素位置进行图像置乱,这种基于排序的只改变像素位置的置乱方法其安全性不具有很好的保证;而本发明提出的一种Kirkman女生问题的图像置乱方法是基于像素灰度值的排序置乱,置乱效果好,安全性高,通用性强。因此,研究一种基于排序的改变像素灰度值的置乱方法有较大的意义。

发明内容
本发明的目的是提出一种基于Kirkman女生问题解决方案的图像置乱方法,其置乱方法简单,安全性好,置乱度高,通用性强,并且能抵抗一定的攻击,可以很好的用于信息隐藏的预处理和图像加密,而且可以满足数字图像加密和隐藏的鲁棒性要求。本发明的目的是通过下述技术方案实现的一种基于Kirkman女生问题解决方案的图像置乱方法,其特征在于设原始图像为Image ;迭代次数为cycle ;
Kirkman女生问题解决方案中涉及的四个密钥为i、a、b和u,其中u取I到7中的一个数,代表采用Kirkman女生问题解决方案中七个通式中的一个通式,i取I到15中的一个数,a和b取I到15中的一个数,而且i和a、b的取法有规则i=l时,a=14,b=15 ;i=2时,
a=15, b=l ;i=3时,a=l, b=2 ; ...... ;i递增的同时,a和b依次往后移动;当确定一组i、a、
b、u的取值,即产生一组解决方案;输入的原始图像为Image,大小为MXN像素;输出的置乱图像为FIG;
图像的正置乱过程如下1)得到输入的原始图像Image大小为MXN,迭代次数为cycle,确定Kirkman女生问题解决方案中四个密钥的一组取值得到一组解决方案A ;
2)将原始图像Image转换为八位的二进制序列image,并进行转置为image2,得到image2,大小为mXn,再将其转成一维序列imagel ;
3)将解决方案A存储到INDEX中,并进行取余处理INDEX中值大于15的用15去除,并取其余数,其余不变,得到的结果保存至index中;
4)定义迭代变量为F,所述的F取值范围为l"cycle,即从I次迭代开始,到cycle次迭代结束对一维二进制序列imagel进行分组,每组15个;然后按照解决方案A对每组进行重新排序,排序后的结果存储至fig中;若最后一组序列不足15个,则将其原封不动的放在前边排好序的fig后边的位置;最后对排序后的序列fig进行左移F位处理,并将结果赋给 imagel ;
5)若迭代变量F不等于cycle,转至步骤4)进行下一次迭代;直到迭代变量F为 cycle,则迭代结束;
6)将排序后的一维二进制序列fig转换成二维大小mXn;然后对其转置存储至Fig,将二进制矩阵Fig转换成十进制得到一维数组(二进制转换成十进制用到Matlab函数bin2dec,其转换是将二进制的二维矩阵转换为十进制的一维数组)存储至fg,再将fg转换成原始二维图像大小MXN,并将其存储至FIG,从而得到置乱后的图像FIG(灰度图像(SPMXN像素)在程序中的显示就是一个二维数组或矩阵(即M行N列),也就是说,一个二维数组就可以输出一幅图像);至此,正置乱过程结束;
图像的逆置乱过程如下其中,置乱后图像为FIG,大小为MXN像素;迭代次数为cycle ;Kirkman女生问题解决方案中的四个密钥i、a、b和u ;
输出的置乱恢复图像为OUT ;
1)得到输入的置乱图像FIG大小为MXN,以及与正置乱过程相同的迭代次数cycle,确定与正置乱过程相同的解决方案A ;
2)将置乱图像FIG转换成八位的二进制序列fig,并进行转置为fig2,得到fig2,大小为mXn,再将其转成一维序列figl ;
3)做与正置乱过程3)相同的处理,结果保存至index中;
4)定义迭代变量F,所述的F取值范围为l"cycle,即从I次迭代开始,到cycle次迭代结束对一维二进制序列figl进行右移cycle+1-F位处理,结果存储至fig ;将移位后的序列fig进行分组,每组15个;然后按照解决方案A对每组进行与正置乱相反的排序,排序后的结果存储至out中,若最后一组序列不足15个,则将其原封不动的放在前边排好序的out后边的位直;最后并将结果赋给figl ;
5)若迭代变量F不等于cycle,转至步骤4)进行下一次迭代;直到迭代变量F为cycle,则迭代结束;
6)将排序后的一维二进制序列out转换成二维大小mXn;然后对其转置存储至Out,将二进制矩阵Out转换成十进制得到一维数组(二进制转换成十进制用到Matlab函数bin2dec,其转换是将二进制的二维矩阵转换为十进制的一维数组)存储至gf,再将gf转换成原始二维图像大小MXN,并将其存储至0UT,从而得到置乱后的图像OUT (灰度图像(SPMXN像素)在程序中的显示就是一个二维数组或矩阵(即M行N列),也就是说,一个二维数组就可以输出一幅图像);至此,逆置乱过程结束。本发明与现有的图像置乱技术比较有以下优点本发明采用上述方案,正置乱在置乱密钥的前提下得到了置乱后的图像FIG,从FIG中看不到原始图像的任何信息,FIG置乱效果好,保证了原始信息的安全性。在置乱密钥的前提下,经逆置乱过程恢复的图像OUT与原始图像无丝毫差别,达到完全恢复原始图像的目的。由于本发明是一种Kirkman问题的新的图像置乱方法,该方法是通过选择Kirkman问题解决方案中的一种或几种方案对图像最小粒度进行重新排序,且改变了图像像素灰度值,这样就使得解密更加困难,解决了传统基于排序的置乱方法单一的改变像素位置的置乱问题。该方法是对一维序列进行处理,因而放宽了对图像尺寸的要求,适用于任何尺寸的图像,因此该发明对图像尺寸的通用性较强;另外,置乱方法有多个密钥保证,大大提高了方法的安全性。能抵抗一定的剪切、缩放、滤波和噪声的攻击,且恢复图像的可读性不受影响,因而方法抗攻击能力较强,可以很好的用于信息隐藏的预处理和图像加密,而且可以满足数字图像加密和隐藏的鲁棒性要 求。


图I (a)是标准Iena原始图像。图I (b)是标准Iena图经本方法置乱后的图。图I (c)是标准Iena图置乱后的恢复图。图I (d)是长矩形Iena图。图I (e)是长矩形Iena图经本方法置乱后的图。图I (f)是长矩形Iena图置乱后的恢复图。图I (g)是高矩形Iena图。图I (h)是高矩形Iena图经本方法置乱后的图。图I (i)是高矩形Iena图置乱后的恢复图。图2是用灰度值连续置乱度评价方法对本方法的置乱程度进行的评价曲线图。图3 (a)本方法经过剪切攻击后的置乱图像。图3 (b)本方法经过剪切攻击后的恢复图像。图3 (C)本方法经过加入椒盐噪声攻击后的置乱图像。图3 (d)本方法经过加入椒盐噪声攻击后的恢复图像。图3 (e)本方法经过JPEG压缩攻击后的置乱图像。图3 (f )本方法经过JPEG压缩攻击后的恢复图像。图3 (g)本方法经过高斯低通滤波攻击后的置乱图像。图3 (h)本方法经过高斯低通滤波攻击后的恢复图像。
具体实施例方式首先讲解下本发明涉及的理论基础
I)Kirkman女生问题的提出
科克曼(Thomas Penyngton Kirkman),英格兰数学家,1850年他在《女士与先生之日记》杂志上发表题为“疑问六”的文章,提出了 15个女学生问题一位女教师每天带领她班上的15名女生去散步,她把这些女生按3人一组分成5组,问能不能作出一个连续散步7天的分组计划,使得任意两个女生曾被分别分到一组且仅被分到一组?也就是说随便从15人中挑出2人,她俩在一周所分成的35个小组里必在一个组中见过一面,且仅见一面。这个饶有趣味的游戏在一些数学家的介绍、研究和推广下,很快就在许多国家里流传开来。我们先看Kirkman本人在当年给出的答案,它发表在1851年同一杂志上
将15名女学生从I到15编号,则一周内可作如下分组
星期日{1,2,3},{4,8,12},{5,10,15},{6,11,13},{7, 9, 14};
星期一 {1,4,5}, {2,8,10}, {3,13,14},{6,9,15}, {7,11,12};
星期二 {1,6, ,7 },{2,9,11 },{ 3,12,15},{4,10,14},{5,8,13};
星期三{1,8,10}, {2,12,14},{3,5,6}, {4,11,15},{7,10,13};
星期四{I. ,10,11}, {2,13,15,},(3,4,7}, {5,9,12}, {6,8,14};
星期五{1,12,13}, {2,4,6}, {3,9,10}, {5,11,14},{7,8,15};
星期六{1,14,15}, {2,5,7}, {3,8,11}, {4,9,13}, {6,10,12}。当然,Kirkman给出的解并不是他所提出问题的唯一答案,通过调换元素命名和区组排列顺序能得到一个貌似不同的解,但在数学上是等价的,不认为两者间有什么区别。排除掉这种情况,仍然可以写出不少答案来,例如
星期日{1,2,5}, {3,14,15},{4,6,12}, {7,8,11}, {9,10,13};·星期一 {1,3,9}, {2,8,15}, {4,11,13},{5,12,14},{6,7,10};
星期二 {1,4, 15 },{2,9,11 },{ 3,10,12},{5,7,13}, {6,8,14};
星期三{1,8,10}, {2,13,14},{3,4,7}, {5,6,9}, {11,12,15};
星期四{I. ,6,11}, {2,7,12,}, (3,8,13} ; {4,9,14}, {5,10,15};
星期五{1,7,14}, {2,4,10}, {3,5,11}, {6,13,15},{8,9,12};
星期六{1,12,13}, {2,3,6}, {4,5,8}, {7,9,15}, {10,11,14}。2) Kirkman女生问题的解决方案
西尔沃斯特在Kirkman提出女生问题以后,就对这一问题提出了一个进一步的要求。他们认为这一的方案可以写出许多。如果保持每周内的安排都符合原来的规定,一周周的排下去,再加上一个新要求任意三名女生在以后各周内都恰有一次被分在同一组,那么能够排出的周数是与女生人数相关的——他们猜测,这样的方案可以排出15-2=13周来!这一猜想是超越时代的,许多人都不能充分理解这一新问题有多大难度,后来被称为“西尔沃斯特问题”。这一问题在1974年由德尼斯顿(R. H. F. Denniston)借助于电子计算机得到解决。解决方案有多种,用到七个通式,如下所示15名女生分别记为1,2,3,4,……,12 ,13, a,b,;每周分组安排分别对应于i=l,2,3,4,……,15 ;式中加法的结果取以15为模的同余类,即用15去除,仅取余数。通式一
星期日{i,a, b} {8+i,9+i,12+i} {3+i, · 7+i, 10+i} {2+i,6+i,11+i} {1+i, 4+i, 5+i};通式二
星期一 {2+i,8+i, b}{l+i,6+i, a}{4+i, 7+i,11+i}{3+i, 5+i, 9+ i}{i,10+i,12+i};通式三
星期二 {11+i, 12+i, b} {4 +,10+i, a} {6+i, 7+i, 9+i} {l+i,2+i,· 3+i} {i,5+i,8+i};通式四
星期三{5+i,7+i, b} {3+i, 12+i, a} {2+i,9+i,10+i} {l+i,8+i,11+i} {i,4+i,6+i};通式五
星期四{4+i, 9+i, b} {2+i,5+i,a} {6+i,8+i,10+i} {1+i, 7+i, 12+i} {i,3+i,11+i};通式六
星期五{1+ i, 10 + i, b){9+i,11+i, a} {5+i,6+i,12+i} {3+i,4+i,8+i}{i,2+i,7+i};
通式七
星期六{3+i,6+i, b} {7+i,8+i, a} {5+i, 10+i, 11+i} {2+i,4+i,12+i} {i, 1+i,9+i};
3)图像置乱
数字图象可以表示为连续函数在离散网格点处的函数值9,若其中i e {0,1,……,M-l}, j e {O, I,......,N_1},那么,这就是一个尺寸为MXN像素的图像。数字图象的置乱一般可以在其位置空间、色彩空间或频率空间上进行,其基本思想可以追溯到在高卢战争期间恺撒大帝使用的恺撒暗码,即将原信息中的每个字母,按某种固定的规则,依次用另外的字母代替。这种字母的替换可以看作是一种一维数据流的值替换,将之扩展到二维情形,从而可以得到对数字图象的置乱变换。简单地说,数字图象的置乱变换就是一种可逆的变换,它是通过对数字图象的位置或灰度级等做变换,来“扰乱”图像,以此达到在一定程度上迷惑第三者的目的。一幅数字图像可以看作是一个二维数组,二维数组可以转换成一维序列,在一维数组序列的基础上进行二进制转换,这样一幅数字图像就被转换成一个二进制数据流,再将二进制序列进行分组,每组15个序列,置乱操作的单位为一组;Kirkman女生问题解决方案其实就是对15个数的重新排列,因此通过定义密钥选择上述2)中Kirkman女生问题解决方案中的一种或者几种方案,可以对每组序列进行重新排序;由于这种重新排序是在数字图像的二进制序列上进行的,固然改变了原始图像的像素灰度值,这是与以往排序置乱不同的地方;另外还有不足一组的序列可自由处理,重新排序后的二进制序列再按原来的方式转换成原始图像大小,即可得到置乱后的图像。综上所述,我们通过对Kirkman女生问题解决方案与排序关系的分析,将这种关系应用于图像二进制序列的重新排序,得到了一种新的基于排序的图像置乱方法;发明了Kirkman女生问题的图像置乱方法。本发明一种基于Kirkman女生问题解决方案的图像置乱方法,其具体步骤如下 设原始图像为Image ;迭代次数为cycle ;Kirkman女生问题解决方案中涉及的四个密
钥为i、a、b和U,其中u取值为I到7中的任意数值),即采用Kirkman女生问题解决方案中7个通式中的第几个通式,i取I到15中的一个数,a和b取I到15中的一个数;
并且i和a、b的取法有规则 i=l 时,a=14, b=15 ; i=2 时,a=15, b=l ; i=3 时,a=l, b=2 ;i=4 时,a=2, b=3 ;i=5 时,a=3, b=4i=6 时,a=4, b=5i=7 时,a=5, b=6 ;i=8 时,a=6, b=7 ;i=9 时,a=7, b=8 ;i=10 时,a=8, b=9 ;i=ll 时,a=9, b=10 ;i=12 时,a=10, b=ll ;i=13 时,a=ll, b=12 ;i=14 时,a=12, b=13 ;i=15 时,a=13, b=14 ;
i递增的同时,a和b依次往后移动;当确定一组i、a、b、u的取值,即产生一组解决方
案;
输入的原始图像为Image,大小为MXN像素;输出的置乱图像为FIG ;
图像的正置乱过程如下
1)得到输入的原始图像Image大小为MXN,迭代次数为cycle,确定Kirkman女生问题解决方案中四个密钥的一组取值得到一组解决方案A ;
2)将原始图像Image转换为八位的二进制序列image,并进行转置为image2,得到image2,大小为mXη,再将其转成一维序列imagel ;
3)将解决方案A存储到INDEX中,并进行取余处理INDEX中值大于15的用15去除,并取其余数,其余不变,得到的结果保存至index中;
4)定义迭代变量为F,所述的F取值范围为l"cycle,即从I次迭代开始,到cycle次迭代结束对一维二进制序列imagel进行分组,每组15个;然后按照解决方案A对每组进行重新排序,排序后的结果存储至fig中;若最后一组序列不足15个,则将其原封不动的放在前边排好序的fig后边的位置;最后对排序后的序列fig进行左移F位处理,并将结果赋给 imagel ;
5)若迭代变量F不等于cycle,转至步骤4)进行下一次迭代;直到迭代变量F为cycle,则迭代结束;
6)将排序后的一维二进制序列fig转换成二维大小mXn;然后对其转置存储至Fig,将二进制矩阵Fig转换成十进制得到一维数组(二进制转换成十进制用到Matlab函数bin2dec,其转换是将二进制的二维矩阵转换为十进制的一维数组)存储至fg,再将fg转换成原始二维图像大小MXN,并将其存储至FIG,从而得到置乱后的图像FIG(灰度图像(SPMXN像素)在程序中的显示就是一个二维数组或矩阵(即M行N列),也就是说,一个二维数组就可以输出一幅图像);至此,正置乱过程结束;
图像的逆置乱过程如下
其中,置乱后图像为FIG,大小为MXN像素;迭代次数为cycle ;Kirkman女生问题解决方案中的四个密钥i、a、b和u ;输入的置乱后图像为FIG ;四个密钥为u=l,i=l, a=14,b=15 ;输出的置乱恢复图像为OUT ;1)得到输入的置乱图像FIG大小为MXN,以及与正置乱过程相同的迭代次数cycle,确定与正置乱过程相同的解决方案A ;
2)将置乱图像FIG转换成八位的二进制序列fig,并进行转置为fig2,得到fig2,大小为mXn,再将其转成一维序列figl ;
3)做与正置乱过程3)相同的处理,结果保存至index中;
4)定义迭代变量F,所述的F取值范围为l"cycle,即从I次迭代开始,到cycle次迭代结束对一维二进制序列figl进行右移cycle+1-F位处理,结果存储至fig ;将移位后的序列fig进行分组,每组15个;然后按照解决方案A对每组进行与正置乱相反的排序,排序后的结果存储至out中,若最后一组序列不足15个,则将其原封不动的放在前边排好序的out后边的位直;最后并将结果赋给figl ; 5)若迭代变量F不等于cycle,转至步骤4)进行下一次迭代;直到迭代变量F为cycle,则迭代结束;
6)将排序后的一维二进制序列out转换成二维大小mXn;然后对其转置存储至Out,将二进制矩阵Out转换成十进制得到一维数组(二进制转换成十进制用到Matlab函数bin2dec,其转换是将二进制的二维矩阵转换为十进制的一维数组)存储至gf,再将gf转换成原始二维图像大小MXN,并将其存储至OUT,从而得到置乱后的图像OUT(灰度图像(SPMXN像素)在程序中的显示就是一个二维数组或矩阵(即M行N列),也就是说,一个二维数组就可以输出一幅图像);至此,逆置乱过程结束。下面结合附图对本发明作进一步说明
(一)置乱效果观察
选用尺寸为方阵且大小为256 X 256像素的标准Iena图和尺寸为矩形阵且大小分别为121 X232像素和251 X 135像素的Iena图,利用本发明方法对该图进行置乱操作。置乱密钥cycle为6,u=l, i=l, a=14, b=15。如图I示,(a)为大小为256X256像素的原始Iena图,(b)为(a)经正置乱过程得到的置乱图像,(C)为(b)经逆置乱过程得到的恢复图像;(d)为大小为121X232像素的原始Iena图,(e)为(d)经正置乱过程得到的置乱图像,(f)为(e)经逆置乱过程得到的恢复图像;(g)为大小为251X 135像素的原始Iena图,(h)为
(g)经正置乱过程得到的置乱图像,(i)为(h)经逆置乱过程得到的恢复图像。从(b)Ce)
(h)中可以看到图像置乱视觉效果良好,置乱后的图像和白噪声一样;从(c)(f) (i)中可以看到恢复的图像与原始图像相比没有任何损失。说明本发明置乱效果基本成功。(二)置乱效果评价
我们用灰度值连续置乱度评价方法对本发明的方法进行置乱程度评价
数字图像的置乱程度
β = Hill Il 11 Fmxn 11rt %
削nil
其中,I IKmxnI I表示置乱后图像矩阵中连续性区域的个数,I IFmxnI I表示原始图像矩阵中连续区域性的个数。置乱度评价结果如图2所示,选择大小为256X256像素的Iena图,置乱次数为200次,从置乱度评价曲线图中可以看到置乱无周期,不存在安全性恢复的问题;置乱较为稳定,能快速达到理想的置乱效果。(三)置乱安全性分析
本方法的密钥有五个迭代次数cycle以及Kirkman女生问题解决方案中的四个密钥
i、a、b和u,其中u为取Kirkman女生问题解决方案中的第几种方案,i取I到15中的一个数,a和b取I到15中的一个数,而且i和a、b的取法有规则i=l时,a=14, b=15 ;i=2
时,a=15, b=l ;i=3时,a=l, b=2 ; ......;i递增的同时,a和b依次往后移动。其中迭代次数
cycle的空间是较大的,另外Kirkman女生问题解决方案中的四个密钥的空间大小即方案至少为7X15X15种卿uXi Xa ;另外最多为cycleXuX i Xa),所以整个方法的密钥空间是无法预计的,因此本发明的安全性得到了较好的保证。(四)抗攻击测试
置乱图像的抗攻击测试就是置乱图像经过剪切、加噪、压缩以及滤波等处理后,仍具有良好的可恢复性。实验选用256X256像素的Iena图,分别对置乱图像进行剪切、加噪、压缩以及滤波处理。其中剪切部分为图像的(20:35,60:174)和(230:251,211:250);加入的噪声为椒盐噪声,噪声密度为O. 2 ;缩放因子为O. 55 ;滤波用的是大小为5X5 (像素)的高斯低通滤波器标准偏差为O. 33。置乱图像经过攻击处理后的结果如图3(a) (c) (e) (g)所示,攻击处理后得到的恢复图像如图3(b) (d) (f) (h)所示。可以看到置乱图像经过一定的攻击处理后,不影响恢复图像的可知性,表明本方法可以抵抗一定的攻击。
权利要求
1. 一种基于Kirkman女生问题解决方案的图像置乱方法,其特征在于设原始图像为Image ;迭代次数为cycle ; Kirkman女生问题解决方案中涉及的四个密钥为i、a、b和u,其中u取I到7中的一个数,代表采用Kirkman女生问题解决方案中七个通式中的一个通式,i取I到15中的一个数,a和b取I到15中的一个数,而且i和a、b的取法有规则i=l时,a=14, b=15 ;i=2时,a=15, b=l ;i=3时,a=l, b=2 ; ......;i递增的同时,a和b依次往后移动;当确定一组i、a、b、u的取值,即产生一组解决方案; 输入的原始图像为Image,大小为MXN像素;输出的置乱图像为FIG ; 图像的正置乱过程如下 得到输入的原始图像Image大小为MXN,迭代次数为cycle,确定Kirkman女生问题解决方案中四个密钥的一组取值得到一组解决方案A ; 将原始图像Image转换为八位的二进制序列image,并进行转置为image2,得到image2,大小为mXn,再将其转成一维序列imagel ; 将解决方案A存储到INDEX中,并进行取余处理=INDEX中值大于15的用15去除,并取其余数,其余不变,得到的结果保存至index中; 定义迭代变量为F,所述的F取值范围为l"cycle,即从I次迭代开始,到cycle次迭代结束对一维二进制序列imagel进行分组,每组15个;然后按照解决方案A对每组进行重新排序,排序后的结果存储至fig中;若最后一组序列不足15个,则将其原封不动的放在前边排好序的fig后边的位置;最后对排序后的序列fig进行左移F位处理,并将结果赋给imagel ; 若迭代变量F不等于cycle,转至步骤4)进行下一次迭代;直到迭代变量F为cycle,则迭代结束; 将排序后的一维二进制序列fig转换成二维大小mXn ;然后对其转置存储至Fig,将二进制矩阵Fig转换成十进制得到一维数组存储至fg,再将fg转换成原始二维图像大小MXN,并将其存储至FIG,从而得到置乱后的图像FIG ;至此,正置乱过程结束; 图像的逆置乱过程如下其中,置乱后图像为FIG,大小为MXN像素;迭代次数为cycle ;Kirkman女生问题解决方案中的四个密钥i、a、b和u ; 输出的置乱恢复图像为OUT ; 得到输入的置乱图像FIG大小为MXN,以及与正置乱过程相同的迭代次数cycle,确定与正置乱过程相同的解决方案A ; 将置乱图像FIG转换成八位的二进制序列fig,并进行转置为fig2,得到fig2,大小为mXn,再将其转成一维序列figl ; 做与正置乱过程3)相同的处理,结果保存至index中; 定义迭代变量F,所述的F取值范围为l"cycle,即从I次迭代开始,到cycle次迭代结束对一维二进制序列figl进行右移cycle+1-F位处理,结果存储至fig ;将移位后的序列fig进行分组,每组15个;然后按照解决方案A对每组进行与正置乱相反的排序,排序后的结果存储至out中,若最后一组序列不足15个,则将其原封不动的放在前边排好序的out后边的位置;最后并将结果赋给figl ; 若迭代变量F不等于cycle,转至步骤4)进行下一次迭代;直到迭代变量F为cycle,则迭代结束; 将排序后的一维二进制序列OUt转换成二维大小mXn ;然后对其转置存储至Out,将二进制矩阵 Out转换成十进制得到一维数组存储至gf,再将gf转换成原始二维图像大小MXN,并将其存储至OUT,从而得到置乱后的图像OUT;至此,逆置乱过程结束。
全文摘要
一种基于Kirkman女生问题解决方案的图像置乱方法,属于数字图像处理领域。本发明分图像正置乱和图像逆置乱两部分。图像正置乱部分将原始图像转换成二进制序列,再将二进制序列转换成一维的;将一维二进制序列进行分组,15个为一组,剩余不足一组的自由处理;然后按照Kirkman女生问题解决方案中的一种或几种对每组序列进行重新排序;排序后的二进制序列转换成二维大小,最后将二维大小的二进制序列转换成十进制,再转换成原始图像大小,即得到正置乱图像。本发明利用Kirkman女生问题的解决方案对图像进行置乱,试验表明该方法能较快的达到理想的置乱效果,且置乱通用性强,安全性好,置乱恢复的图像无损失;并且有较强的抵抗剪切、缩放、滤波和噪声攻击的能力。
文档编号G06T1/00GK102915520SQ20121034528
公开日2013年2月6日 申请日期2012年9月14日 优先权日2012年9月14日
发明者范铁生, 张忠清, 陈廷伟, 王涛 申请人:辽宁大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1