一种大容量图像隐写方法技术

技术编号:21777811 阅读:33 留言:0更新日期:2019-08-03 23:23
本发明专利技术涉及一种大容量图像隐写方法,用于将秘密信息嵌入到载体图像中,其特征在于包括以下步骤:步骤一、将载体图像和秘密图像进行分组;步骤二、按照先后顺序分别提取一个分组载体图像和一组秘密信息,然后按照如下步骤1和步骤2记载的方法分别将其中的一组秘密信息嵌入其中的一个分组载体图像中,直至所有分组秘密信息均嵌入完毕;嵌入了一组秘密信息的分组载体图像称为最终载秘分组图像,将所有最终载秘分组图像进行组合,得到最终的载秘图像。与现有技术相比,本发明专利技术的优点在于:本发明专利技术部件在图像的最低位平面嵌入秘密信息,同时还在图像的第七位平面嵌入秘密信息,因此隐写容量提高了2倍;同时还能最优地保持图像的直方图特性失真。

A Large Capacity Image Steganography Method

【技术实现步骤摘要】
一种大容量图像隐写方法
本专利技术涉及一种大容量图像隐写方法。
技术介绍
数据隐藏(DH)的目的是考虑到大多数通信通道对秘密信息传输的不安全性,把诸如音频、图像、视频等的秘密信息隐藏到载体图像中,以进行安全通信、注释和版权保护等。实际中,秘密信息的不可检测性、嵌入容量、嵌入效率及嵌入后的图像质量等都是衡量数据隐藏算法的重要指标。一般来说,越大容量的信息隐藏到载体图像中,对图像质量的影响越大,也就是越容易被检测到。即在数据隐藏中,嵌入秘密信息的容量与图像的质量始终是一对相互制约的参数,一个参数值增加,另一个参数值势必会减小。在许多应用中,数据隐藏最重要的指标是不可检测性,也就是对于嵌入秘密信息后的图像,无论在图像视觉上,统计特性,直方图特性等方面都尽可能与原始图像保持一致。但是,一般来说,越大容量的秘密信息隐藏到载体图像中,对图像质量的影响越大,也就是越容易被检测到。目前很少有算法能解决这两个相互制约的参数的优化问题。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术提供一种具有较高秘密信息嵌入容量和效率、同时具有较好的不可感知性的大容量图像隐写方法。本专利技术解决上述技术问题所采用的技术方案为:步骤一、将载体图像和秘密图像进行分组:通过从左到右、从上到下的顺序,将载体图像的所有像素展开排列起来,获得载体灰度图像,并用符号P表示,然后将载体灰度图像P的像素按照从前到后的顺序,以(2k-1)个像素为一组进行分组,得到x个分组载体图像;将秘密信息转换成二进制位流,将秘密信息的二进制位流按照从前到后的顺序,以k个比特位为一组进行分组,得到y个分组秘密信息,y小于等于x,k=3或4或5;步骤二、按照先后顺序分别提取一个分组载体图像和一组秘密信息,然后按照如下步骤1和步骤2记载的方法分别将其中的一组秘密信息嵌入其中的一个分组载体图像中,直至所有分组秘密信息均嵌入完毕;嵌入了一组秘密信息的分组载体图像称为最终载秘分组图像,将所有最终载秘分组图像进行组合,得到最终的载秘图像;设P中的某一个分组载体图像为c,c中(2k-1)个像素的灰度值分别用[c1,c2,…ci,…cL]表示,其中ci表示载体图像对应像素的灰度值,0<<ci<<255,,i=1,2,3,…L,L=2k-1;设其中一个分组秘密信息为m,m=[m1,m2,...,mk,mk+1,mj,…,m2k],mj∈{0,1},j=1,2,3,…2k;步骤1、将m中的前k位嵌入分组载体图像c中,将m中前k位用n1表示,即把n1=[m1,m2,...,mk]嵌入到c=[c1,c2,…ci,…cL]中,具体包括:步骤1.1对c=c=[c1,c2,…ci,…cL]进行取位,分别取出每个像素的第八位和第七位,将第八位记为LSB位,将第七位记为2LSB位,然后生成分组c的LSB矩阵T1:T1=|2LSBC1LSBC1,2LSBC2LSBC2,…2LSBLLSBL|;对每个像素的LSB位和2LSB位做异或运算,生成分组c的异或矩阵E1:步骤1.2生成k行(2k-1)列的奇偶校验矩阵G,G中每一列对应整数为1,2,3,…L:步骤1.3把步骤1.1中生成的异或矩阵E1做转置处理,然后与校验矩阵G相乘,判断结果是否与n1的转置相等,即判断G×(E1)T是否等于n1T,如是,说明m的前k位信息n1已嵌入成功,此时不需要对分组载体图像c做任何改动,直接进入步骤2;如否,进入步骤1.4;步骤1.4、计算第一差异d:d=G×(E1)T-n1T然后,遍历奇偶检验矩阵G,在奇偶检验矩阵G中找到与第一差异d相同的列所对应的列序号,并用d1表示,然后进入步骤1.5;步骤1.5、在分组c的LSB矩阵T1中找到与第d1个像素对应的2LSB位和LSB,然后根据最短距离法原则,如果第d1个像素对应的2LSB和LSB为00,则将这两个比特位的数值改为01;如果第d1个像素对应的2LSB和LSB为01,则将这两个比特位的数值改为00;如果第d1个像素对应的2LSB和LSB为10,则将这两个比特位的数值改为11;如果第d1个像素对应的2LSB和LSB为11,则将这两个比特位的数值改为10;这样,n1=[m1,m2,...,mk]成功嵌入,将嵌入n1后的分组载体图像c生成新的载密分组图像,并用c′表示,c′=[c1′,c2′,…ci′,…cL′],其中ci′表示载密分组图像c′对应像素的灰度值,0<<ci′<<255,,i=1,2,3,…L;步骤2、将m中后k位用n2表示,即n2=[mk+1,...,m2k],然后将n2嵌入到载密分组图像c′中,具体包括:步骤2.1、对c′=[c1′,c2′,…ci′,…cL′]进行取位,分别取出每个像素的第八位和第七位,将第八位记为LSB位,将第七位记为2LSB位,然后生成载密分组图像c′的LSB矩阵T2:然后只取载密分组图像c′中每个像素的2LSB位,生成载密分组图像c′的位矩阵E2:步骤2.2、生成k行(2k-1)列的奇偶校验矩阵G,G中每一列对应整数为1,2,3,…L;步骤2.3、把步骤2.1中生成的载密分组图像c′的位矩阵E2做转置处理,然后与校验矩阵G相乘,判断结果是否与n2的转置相等,即判断G×(E2)T是否等于n2T,如是,说明m的后4位信息n2已嵌入成功,此时不需要对载密分组图像c′做任何改动;如否,进入步骤2.4;步骤2.4、计算第二差异d′:d′=G×(E2)T-n2T然后,遍历奇偶检验矩阵G,在奇偶检验矩阵G中找到与第二差异d′相同的列所对应的列序号,并用d2表示,然后进入步骤3.5;步骤2.5、在载密分组图像c′中找到第d2个像素,设第d2个像素的像素值为ci′,分别统计ci′及其左右两个像素值ci-1′和ci+1′在载密分组c′中出现的概率,分别用h(ci′)、h(ci-1′)和h(ci+1′)表示,然后进入步骤2.6;步骤2.6、如果ci′=0,则ci′的值减去1,ci+1′的值加1;如果ci′=255,则ci-1′的值加1,ci′的值减去1;如果0<ci′<255,此时分以下三种情况进行处理:第一种情况,如果h(ci-1′)>h(ci+1′),则ci-1′的值加1,ci′的值减去1;第二种情况,如果h(ci-1′)=h(ci+1′),则ci-1′和ci+1′的值以50%的概率加1,ci′的值减去1;第三种情况,如果h(ci-1′)<h(ci+1′),则ci′的值减去1,ci+1′的值加1。这样,n2=[mk+1,...,m2k]成功嵌入,将载密分组图像c′中嵌入n2后生成的图像即为最终载秘分组图像。与现有技术相比,本专利技术的优点在于:本专利技术部件在图像的最低位平面嵌入秘密信息,同时还在图像的第七位平面嵌入秘密信息,因此隐写容量提高了2倍;同时还能最优地保持图像的直方图特性失真,抵抗了常用的隐写分析方法,提高了数据隐写的容量和效率。附图说明图1为本专利技术实施例中大容量图像隐写方法流程图。具体实施方式以下结合附图实施例对本专利技术作进一步详细描述。如图1所示的大容量图像隐写方法,用于将秘密信息嵌入到载体图像中,其包括以下步骤:步骤一、将载体图像和秘密图像进行分组:通过从左到右、从上到下的顺序,将载体图像的所有像素展开排列起来,获得载体灰度图像,并用符号P本文档来自技高网...

【技术保护点】
1.一种大容量图像隐写方法,用于将秘密信息嵌入到载体图像中,其特征在于包括以下步骤:步骤一、将载体图像和秘密图像进行分组:通过从左到右、从上到下的顺序,将载体图像的所有像素展开排列起来,获得载体灰度图像,并用符号P表示,然后将载体灰度图像P的像素按照从前到后的顺序,以(2

【技术特征摘要】
1.一种大容量图像隐写方法,用于将秘密信息嵌入到载体图像中,其特征在于包括以下步骤:步骤一、将载体图像和秘密图像进行分组:通过从左到右、从上到下的顺序,将载体图像的所有像素展开排列起来,获得载体灰度图像,并用符号P表示,然后将载体灰度图像P的像素按照从前到后的顺序,以(2k-1)个像素为一组进行分组,得到x个分组载体图像;将秘密信息转换成二进制位流,将秘密信息的二进制位流按照从前到后的顺序,以k个比特位为一组进行分组,得到y个分组秘密信息,y小于等于x,k=3或4或5;步骤二、按照先后顺序分别提取一个分组载体图像和一组秘密信息,然后按照如下步骤1和步骤2记载的方法分别将其中的一组秘密信息嵌入其中的一个分组载体图像中,直至所有分组秘密信息均嵌入完毕;嵌入了一组秘密信息的分组载体图像称为最终载秘分组图像,将所有最终载秘分组图像进行组合,得到最终的载秘图像;设P中的某一个分组载体图像为c,c中(2k-1)个像素的灰度值分别用[c1,c2,…ci,…cL]表示,其中ci表示载体图像对应像素的灰度值,0<<ci<<255,,i=1,2,3,…L,L=2k-1;设其中一个分组秘密信息为m,m=[m1,m2,...,mk,mk+1,mj,...,m2k],mj∈{0,1},j=1,2,3,…2k;步骤1、将m中的前k位嵌入分组载体图像c中,将m中前k位用n1表示,即把n1=[m1,m2,...,mk]嵌入到c=[c1,c2,…ci,…cL]中,具体包括:步骤1.1对c=c=[c1,c2,…ci,…cL]进行取位,分别取出每个像素的第八位和第七位,将第八位记为LSB位,将第七位记为2LSB位,然后生成分组c的LSB矩阵T1:T1=|2LSBC1LSBC1,2LSBC2LSBC2,…2LSBLLSBL|;对每个像素的LSB位和2LSB位做异或运算,生成分组c的异或矩阵E1:步骤1.2生成k行(2k-1)列的奇偶校验矩阵G,G中每一列对应整数为1,2,3,…L:步骤1.3把步骤1.1中生成的异或矩阵E1做转置处理,然后与校验矩阵G相乘,判断结果是否与n1的转置相等,即判断G×(E1)T是否等于n1T,如是,说明m的前k位信息n1已嵌入成功,此时不需要对分组载体图像c做任何改动,直接进入步骤2;如否,进入步骤1.4;步骤1.4、计算第一差异d:d=G×(E1)T-n1T然后,遍历奇偶检验矩阵G,在奇偶检验矩阵G中找到与第一差异d相同的列所对应的列序号,并用d1表示,然后进入步骤1.5;步骤1.5、在分组c的LSB矩阵T1中找到与第d1个像素对应的2LSB位和LSB,然后根据最短距离法原则,如果第d1个像素对应的2LSB和LSB为00,则将这两个比...

【专利技术属性】
技术研发人员:李亚峰周坤程劼戴洪珠任洪林
申请(专利权)人:浙江工商职业技术学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1