预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113222803A(43)申请公布日2021.08.06(21)申请号202110596550.4(22)申请日2021.05.31(71)申请人鲁东大学地址264025山东省烟台市芝罘区红旗中路186号(72)发明人苏庆堂孙叶函王环英(51)Int.Cl.G06T1/00(2006.01)权利要求书3页说明书10页附图2页(54)发明名称基于纯四元数Schur分解的彩色数字图像盲水印方法(57)摘要本发明利用频域数字水印算法鲁棒性强的优点,公开了一种基于纯四元数Schur分解的彩色数字图像盲水印方法。本发明根据四元数表示的图像在Schur分解后所得酉矩阵系数的相关性,通过修改酉矩阵中具有较高相关性的两个系数来完成彩色数字水印的嵌入与盲提取。本发明将彩色数字水印图像嵌入到彩色宿主图像中,不但具有较强的鲁棒性,而且具有较好的水印隐蔽性和较高的安全性,解决了大容量彩色图像数字水印算法鲁棒性差和安全性低的难题,适用于强鲁棒性、高安全性的大容量数字媒体版权保护的场合。CN113222803ACN113222803A权利要求书1/3页1.本发明的目的是提供一种基于纯四元数Schur分解的彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:第一步:彩色数字水印图像的预处理:首先,将一幅大小为N×N的彩色数字水印图像W依照红、绿、蓝三基色的顺序分成3个分层水印图像Wi;然后,将每个分层水印图像进行基于密钥Kai和Kbi的二维Logistic混沌映射;最后,将置乱后的分层水印图像中的每个十进制数2表示的像素用8位二进制数表示,并依次连接形成长度为8N的分层水印位序列SWi,其中i=1,2,3分别表示红、绿、蓝三层;第二步:获取宿主图像的嵌入块:将一幅大小为M×M的原始彩色宿主图像H分成大小为m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;根据分层水印信息的长度8N2,利用Matlab系统内置函数randperm生成的伪随机序列从宿主图像H中选择合适的图像块A,其中3×8N2<=(M×M)/(m×m);第三步:添加抖动噪声:对选取的图像块A的每个像素值,添加在‑0.5和0.5之间的随机数值;然后,再对每个像素值进行判断,如果其值为负数,则将其修改为对应的相反数;第四步:纯四元数Schur分解:将纵向包含红、绿、蓝三层的图像块A转换为四元数实表示矩阵AR,再根据公式(1)对AR的第一列块进行纯四元数Schur分解,得到四元数实表示酉矩阵的第一列块U和四元数实表示上三角矩阵的第一列块V;[U,V]=QSchur()(1)其中,,A1=zeros(m,m),zeros(m,m)是产生一个m×m的零矩阵函数,m是图像块的尺寸大小,A2为图像块A红色通道的像素值,A3为图像块A绿色通道的像素值,A4为图像块A蓝色通道的像素值;第五步:嵌入水印信息:按先后顺序从三个分层水印序列SWi中各取出一个待嵌入水印信息wi,依据该嵌入水印信息wi及公式(2),对四元数实表示酉矩阵的第一列块U相应位置的值进行更改得到U*;(2)其中,U(x,1)是U在第x行第1列的值,U*(x,1)是修改U后的U*在第x行第1列的值,x∈{p,q},uavg=(abs(U(p,1))+abs(U(q,1)))/2,p=i×m+2,q=i×m+3,i=1,2,3分别表示红、绿、蓝三层,m是图像块的尺寸大小,sign(.)是符号函数,abs(.)是绝对值函数,T是量化步长;第六步:逆纯四元数Schur分解:利用公式(3)进行逆纯四元数Schur分解,得到含水印的四元数实表示矩阵的第一列块;=U*×V×(U*)T(3)2CN113222803A权利要求书2/3页第七步:利用水印信息wi和公式(4)对的值进行修改,得到最终的含水印的四元数实表示矩阵第一列块;(4)其中,(x,1)是在第x行第1列的值,(x,1)是在第x行第1列的值,x∈{p,q},p=i×m+2,q=i×m+3,i=1,2,3分别表示红、绿、蓝三层,m是图像块的尺寸大小,floor(.)是向下取整函数,ceil(.)是向上取整函数;第八步:将含水印的四元数实表示矩阵第一列块转换为含水印的图像块A*并将其更新到载体图像H中的相应位置;第九步:重复执行本过程的第二步到第八步,直到所有的水印信息都被嵌入完成为止,最后,获得含水印图像H*;其水印提取过程描述如下:第一步:将含水印图像H*分成m×m的非重叠图像块,每一个图像块纵向包含红、绿、蓝三层;第二步:利用上述水印嵌入过程中所提到的Matlab系统内置函数randperm生成的伪随机序列选择出含水印的图像块A*;第三步:将纵向包含红、绿、蓝三层