数字水印系统的设计
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
v:* {behavior:url(#default#VML);}
o:* {behavior:url(#default#VML);}
w:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
dct算法
由于水印的嵌入是在进行DCT变换后的频率域进行的,故要进行DCT转换的介绍。
DCT变换原理:
在嵌入水印之前, 先要做一次前向DCT(Forward cosine transform FDCT)变换,一次只对一个块(Block)进行变换。将原始图像数据视为空间的函数f(x,y),x为像素所处的行,y为像素所处的列,u和v对应频域空间的行和列,前向 DCT 变换的公式如式(1-2),DCT 反变换的公式如式(1-3)
在公式(4-1) 和(4-2)中当v, u=0 时,C(u
),C(v)=1/, 其它情况 下,。DCT 变换的原理,和离散傅立叶变换差不多,它是将空间域的信号变换到频域,FDCT 相当于谐波分析,此处频域共有 64 个不同的空间频率(对应不同的
和 ) ,事实上,这种频率体现出光强变化的快慢[20],FDCT得到的数据就是对应频域中各个频率的幅值
。;值得注意的是在频域中,能量(或者说幅值)主要集中在低频(对应较小的 和 ) ,对应高频的幅值大部分为零或接近零,这显然非常有利于数据的压缩。 称为直流系数(DC Coefficient),从公式可以看出它相当于原始图像数据某种意义上的平均值,一般数值较大;其余的 称为交流系数(AC Coefficient)。FDCT 原理上是可逆的,原始图像数据的损失是由于公式中有余弦函数,计算时的精度引起的,但这往往可以忽略。
??? 这里要注意两个问题:
1. FDCT 是对每 8x8 个点为一个单位处理的。所以如果原始图片的宽度(Width)或高度(Height)不是
8 的整倍数, 都需要先补成 8 的倍数, 好一块一块的处理。例如某幅图像为 698×695(高度×宽度),高度,宽度均不是
8 的整数倍,这在对图像压缩时,图像的右边应再加一列,图像的底部应再加 6 行,这样图像变为 704×696,对于多加的行和列的像素值取为 0即可 。
2. FDCT 变换前,先要将原始图像数据零均值化,如果原始图像的精度为P,则应将数值从[0,-1]变换到[-,-1],显然将原始数据减去即可。对于关心的 8位的灰度图像,减去 128,数据范围为[, -1]。
3.1.2 分块处理
分块的实现是本毕业设计的核心,本毕设进行的分块比较是将抽取相邻的四个8*8数据块的对应4个数据块进行比较,比较的公式是自定的公式,公式如下。
(1) 分块简介:
将原始位图进行DCT转化后的图形进行分块,分块是将相邻4个8*8数据块的对应位置进行对比进行的,进而根据这些位置的大小关系嵌入水印.
3.1.3
生成水印
算法说明
说明:(注:本实验以BMP位图为原图)
1.? 水印信号的生成:先读入二值水印图像(即将要嵌入的Logo图像),得一维数组W,W={W[i],0≤i≤64*64-1},64*64为水印图像大小,然后按行扫描顺序将其转换为一数组Wlogo[]中,数组Wlogo[]保存的是0,255二序列。
2.? 水印嵌入区域的选取:读入灰度图水印图像(即将要被嵌入的源图像),得得到一维数组W, W={W[i],0≤i≤512*512-1},512*512为水印图像大小,然后以8*8为单位扫面数组,将扫面后的8*8数组存储在数组f[8*8]中,然后将f[8*8]进行DCT转换为F[8*8],同理选择相邻的四个8*8块,然后经过相同的方式变成F1[8*8],
F2[8*8], F3[8*8], F4[8*8]。
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
Normal
0
false
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}