基于DCT的数字水印算法(1)(4)

2019-04-13 22:12

第二章 离散余弦变换(DCT)算法的介绍

第二章 离散余弦变换(DCT)算法介绍

2.1 离散余弦叶变换的简介

1. DCT 变换公式

因为DCT 变换公式是这一算法的核心,有必要先了解一下DCT 正反变换公式。DCT 正反变换公式的核心是余弦变换,计算速度比较快,因图像处理所用的是二维变换,这里只给出二维的DCT 正反变换公式。设数字图像X(m,n)是具有M行、N列的一个矩阵,为同时减弱或去除空间域的相关性,将图像从空间域变换到空间域,其二维DCT 正变换公式为:

M?1N?1F(?,?)?c(u)c(v)?x?0?y?0f(x,y)cos?(2x?1)2Mcos?(2y?1)2N

?=0,1, ? ? ?, M-1;?=0,1, ? ? ?, N-1 其中:

?1u?0M? c(u)??

u?1,2???M?1?2M??1N? c(v)???2N?

v?0v?1,2???N?1

二维DCT反变换公式为:

M?1N?1f(x,y)???u?0v?0c(u)c(v)F(u,v)cos?(2x?1)u2Mcos?(2y?1)v2N

x?0,1???M?1;y?0,1???N?1

其中x,y 为空间采样值,u,v 为频域采样值。

因为数字图像多用像素方阵来标识,即M=N,此时,二维DCT 正反变换可以简

化为:

- 21 -

第二章 离散余弦变换(DCT)算法的介绍

N?1N?1F(?,?)?c(u)c(v)?x?0?y?0f(x,y)cos?(2x?1)2Ncos?(2y?1)2N

u?0,1???N?1;v?0,1???N?1

N?1N?1f(x,y)???c(u)c(v)F(u,v)cosu?0v?0?(2x?1)u2Ncos?(2y?1)v2N

x?0,1???N?1;y?0,1???N?1

2. 二维DCT的性质

离散余弦变换是图像处理技术中几种最基本的酉变换之一。酉变化是线性变化的一种特殊形式,其基本线性运算式是严格可逆的,并且满足一定的正交条件。图像的酉变换可以被理解为分解图像数据为广义的二维频谱,变换域中每一分量对应于原图频谱函数的能量。

设IM′N 为M′N 的图像矩阵则该图像的二维DCT 变换可由下式表示: FDCT= 其中

?1,m?0时??2Am,i?? 其中0?m,i?M

??cosm(2i?1),其他?2M??1,n?0时??2Bk,n??,其中0?n,k?N

??cosn(2k?1),其他?2N?2M?NAM?MIM?NBN?N

经过二维DCT 变换得到的DCT 系数矩阵GDCT 指示了一系列频率中每一

个频率所对应的变化程度,即频率的高低。其中低频分量将集中在矩阵的左上角,高频分量则集中在右下角。图像的低频分量反映图像慢变化,即图像整体部分;图像的高频分量代表图像跳变的地方,即图像细节部分,如轮廓、边缘。根据人类视觉系统,图像整体比细节部分更为重要,若一幅图像经过处理后而

- 22 -

第二章 离散余弦变换(DCT)算法的介绍

视觉改变不大,则其低频分量必定改变程度不大。此算法采用了将数字水印的灰度值植入DCT 域的低频分量中的方法。

二维离散余弦变换是一种严格可逆的酉变换。它的两个矩阵AM′M BN′N 满足以下的正交条件:

AA?TM2I BB?TN2I

由此,易得到离散余弦逆变换(IDCT): IM?N?2M?NTTAM?N?GDCT?BN?N

正因为DCT 是一种严格可逆的正交变换,才可能对基于DCT 的植入算法实现准确的数字水印滤波。 3. 二维DCT的实现

数字图像水印算法选择二值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将载体图像进行8×8的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。具体方法如下: 设I是M×N大小的原始图像,J是水印图像大小为P×Q,M和N分别是P和Q的偶数倍,把水印J加载到图像I中,算法分以下几步进行:

1. 将I分解为(M/8)×(N/8)个8×8大小的方块B;同时,J也分解为 (M/8)×(N/8)个(8P/M)×(8Q/N)大小的方块V; 2. 对每一个B进行DFT变换:DB=DFT(B);

3. 加载水印对每一个DB和V,s(i)为从DB的中频选出的加载的位置 , 1≤i≤(8P/M)×(8Q/N), t(i)为水印V的位置坐标 , 1≤i≤(8P/M)×(8Q/N),DB’(s)=A×V,其中A是加权系数,用DB’(s)来代替DB,得到加载水印后的图像DBC;

4. 对以上得到的每一个DBC进行逆DCT变换:IDBC=IDCT(DBC)并将各方块IDBC合并为一个整图I’,即加载了水印的新图像。

2.2 离散余弦变换水印嵌入算法

数字图像水印算法选择二值化灰度图像作为水印信息,根据水印图像的二

- 23 -

第二章 离散余弦变换(DCT)算法的介绍

值性选择不同的嵌入系数,并将载体图像进行8×8的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。具体方法如下: 设I是M×N大小的原始图像,J是水印图像大小为P×Q,M和N分别是P和Q的偶数倍,把水印J加载到图像I中,算法分以下几步进行:

1. 将I分解为(M/8)×(N/8)个8×8大小的方块B;同时,J也分解为 (M/8)×(N/8)个(8P/M)×(8Q/N)大小的方块V; 2. 对每一个B进行DCT变换:DB=DCT(B);

3. 加载水印对每一个DB和V,s(i)为从DB的中频选出的加载的位置 , 1≤i≤(8P/M)×(8Q/N), t(i)为水印V的位置坐标 , 1≤i≤(8P/M)×(8Q/N),DB’(s)=A×V,其中A是加权系数,用DB’(s)来代替DB,得到加载水印后的图像DBC;

4. 对以上得到的每一个DBC进行逆DCT变换:IDBC=IDCT(DBC)并将各方块IDBC合并为一个整图I’,即加载了水印的新图像。

2.3 离散余弦变换水印提取算法

设图像D为已经加载了水印的载体图像,现要将所加载的水印从D中提取出来,其过程为上述加载水印算法的逆运算: 1. 将D分解为(M/8)×(N/8)个8×8大小的方块BD; 2. 对每一个BD进行二维DFT变换:DBD=DCT(BD); 3. 提取数据对每一个DBD,按照式V’=1/A×DBD得到V’; 4. 将上面得到的所有V’合并成一个水印整图J’。

2.4 离散余弦变换水印算法原理框图

I J

8×8分块处理 8×8分块处理

- 24 -

第二章 离散余弦变换(DCT)算法的介绍

选择加载位置 DCT变换 通过算法改变水印信息形式 改变嵌入水印信息的深度

水印的嵌入

IDCT变换

嵌入水印的图象D

嵌入水印的图象D

- 25 -


基于DCT的数字水印算法(1)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:市卫生局科教工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: