欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021100594048
申请人: 鲁东大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于矩阵奇异值分解的四元数彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:第一步:彩色图像数字水印的预处理:首先,将一幅大小为N×N的彩色图像数字水印W依照红、绿、蓝三基色的顺序分成3个分层水印图像Wi;然后,将每个分层水印图像进行基于密钥Kai的Arnold置乱变换以提高水印的安全性;最后,将置乱后的分层水印图像中的每个2

十进制数表示的像素用8位二进制数表示,并依次连接形成长度为8N 的分层水印位序列SWi,其中i=1, 2, 3, 分别表示红、绿、蓝三层;

第二步:获取宿主图像的嵌入块:将一幅大小为M×M的原始彩色宿主图像H分成大小为2

m×m的图像块,每一个图像块纵向包含红、绿、蓝三层;根据分层水印信息长度8N ,利用Matlab系统内置函数randperm生成的伪随机序列在宿主图像H中选择合适位置的图像块,2

以提高水印抗剪切攻击的鲁棒性,其中3×8N <=(M×M)/(m×m);

第三步:选取一个图像块A,进行是否调整极端像素值的判断,如果图像块A蓝色通道的(1, 1)位置上的像素值为0,那么将其像素值改为1;然后,将彩色宿主图像H依照红、绿、蓝三基色的顺序分成3个分层宿主图像Hi,图像块A的每个像素值都通过Hi用四元数表示出来,得到四元数像素块qA,其中i=1, 2, 3, 分别表示红、绿、蓝三层;

第四步:根据公式(1),对四元数像素块qA进行奇异值分解(Singular Value Decomposition, SVD),得到左奇异矩阵U、右奇异矩阵V和对角矩阵S,其中S仅在主对角线上有奇异值;

[U,S,V]=svd(qA) (1)第五步:从分层水印序列SWi中按先后顺序取出一个嵌入水印信息w,依据该嵌入水印信息及公式(2)求得量化值sq;

(2)

其中,mval=mod(sm,T),sm是对角矩阵S中的最大值,T为量化步长,mod(.)为求余函数,T1=0.25×T,T2=0.75×T,judge1(mval)是当mval<=T/2+T/8或mval>=T‑T/8时返回true,否则返回false;judge0(mval)是当mval<=T/8或mval>=T/2‑T/8时返回true,否则返回false;

*

第六步:用量化值sq替换sm,得到S ;再利用公式(3)进行逆奇异值分解,得到含水印的*四元数像素块qA ;

* * T

qA =U×S ×V (3)

* *

第七步:将含水印的四元数像素块qA 转换为含水印的像素块A ,然后进行溢出判断:如* *果sq≠sm,就按照公式(4)进行溢出判断得到sq ,并用其替换sm ;之后再利用公式(3)进行*逆奇异值分解,得到最终的含水印的四元数像素块qA ,再进一步转换为最终的含水印的像*素块A ;

(4)

* * *

其中,sm 是对角矩阵S 中的最大值,T为量化步长, 是含水印的像素块A 在第p行第q列的像素值,1≤p,q≤m,m是图像块的尺寸大小;

第八步:重复执行上述第三步到第七步,直到所有的水印信息都被嵌入完成为止;最*后,获得含水印图像H ;

其水印提取过程描述如下:

*

第一步:将含水印图像H 分成m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;

第二步:利用上述水印嵌入过程中所提到的Matlab系统内置函数randperm生成的伪随机序列选择图像块;

* *

第三步:选取一个图像块A ,将含水印图像H 依照红、绿、蓝三基色的顺序分成3个分层* * *含水印图像Hi ,图像块A 的每个像素值都通过Hi 用四元数表示出来,得到含水印的四元数*像素块为qA ,其中i=1, 2, 3, 分别表示红、绿、蓝三层;

* *

第四步:根据公式(5),对含水印的四元数像素块qA 进行奇异值分解,得到对角矩阵S ;

* *

S =svd(qA) (5)

* *

第五步:利用公式(6),提取含水印的四元数像素块qA 中所含有的水印w ;

(6)

*

其中,sm是对角矩阵S 中的最大值,mod(.)是求余函数,T为量化步长;

*

第六步:重复执行第三步到第五步,提取每层二进制水印序列SWi ,然后每8位二进制信息为一组转换成十进制的像素值,其中i=1, 2, 3, 分别表示红、绿、蓝三层;

第七步:对转化后的每层十进制像素执行基于密钥Kai的逆Arnold变换并获得分层水印*Wi ,其中i=1, 2, 3, 分别表示红、绿、蓝三层;

* *

第八步:组合获得的分层水印Wi 形成最终的提取水印W ,其中i=1, 2, 3, 分别表示红、绿、蓝三层。