基于离散小波变换的数字水印处理课题项目:基于DWT数字水印处理课题设计人:指导老师:设计日期:2014年4月12日山东科技大学内容提要1.概述;2.数字水印基本原理;3.算法实现;4.实验代码;5.实验结果;1.概述数字水印技术是目前信息安全技术领域的一个新方向,是一个在开放的网络环境下,保护版权和认证来源及完整性的新型技术。本课题采用小波变换DTW,基于小波域的二值图像水印算法。该算用识别度较高的二值图像作为原始水印信息嵌入宿主图像,已达到对宿主图像版权保护和内容鉴别的目的。2.数字水印基本原理水印的基本原理是嵌入某些标志数据到宿主数字中作为水印,使得水印在宿主数据中不可感知和足够安全。水印信号原始信号嵌入过程含水印信号3.算法思路优点:实现谱分析图像直观平稳,数学计算容易理解,缺点:积分区间过长,涉及虚数,无法对信号进行局部处优点:能够同时在时域和频域反映复杂突变信号的局部特性,能够时-空定位研究信号缺点:???傅里叶变换加窗傅里叶变换小波变换优点:可处理非平稳信号,窗内看作平稳信号处理缺点:对声音、图像等突变信号高低频都采用固定宽度的窗函数处理,精度不够,效果不好离散小波变换可以用来分析或者叫做分解信号,这个过程叫做分解或者叫做分析。把分解的系数还原成原始信号的过程叫做小波重构或者叫做合成,数学上叫做逆离散小波变换。一维DWTDWT的实质就是把信号进行滤波分别得到A(低频成分),B(高频成分),而我们已经知道信号低频成分是信号的主体,而高频成分就像“添加剂”,它是信号细的识别度(就是特征细节),声音信号高频对应音色音域等,图像高频对应图像文理边缘等细节信息,语音信号去掉高频成分仍能听清,图像信号去掉高频仍能识别。反之低频图像,声音我们都无法识别。所以低频对应信号主体。对于数字图像信号(矩阵),我们可以用二维DWT进行分解,实质就是用DWT分别对矩阵行列进行两次一维变换,就可得到图像的一级分解。近似值系数水平细节系数垂直细节系数对角细节系数原始图像1行和列的低频输出(低频成分)近似原图2行的高频列的低频出(中频成分)水平细节3列的高频行的低频(中频成分)垂直细节4行和列的高频输出(高频成分)对角细节高中低频只是在局限于本图的局限划分,很多文献都统称称2,3,4为高频细节子图所以用这个方法可以对图像就行二级分解,将一级分解中的低频近似成分再进行DWT2分解,便又得到四个子图,这就是二级分解。以此类推,进行多级分解就是将上一级左上角的低频近似成分再次进行DWT2分解,这是一个递归的过程。Lena三级分解IDWT2即可实现逆变换,得到原图,嵌入水印后也是通过该函数还原得到原图水印图像原图一维序列水印嵌入水印嵌入可以在一级分解之后子图中,也可以在多级分解之后的更小分辨率子图中,级数越多,分辨率越小,频率越低,精度越高,鲁棒性也越强。为了方便下面就在一级分解后嵌入。二值图像一级分级等待嵌入图像主体成分嵌入会使图像失真水平方向中频成份可以嵌入竖直方向中频成份可以嵌入图像高频对角细节成份,嵌入会改变细节边缘选择该成份进行嵌入嵌入IDW2含水印图像4.实验代码clc,clear;I=imread('kedananmen.jpg')mark=imread('sdust.jpeg')figure;subplot(1,3,1);imshow(I);title('原始图像')subplot(1,3,2);imshow(mark);title('水印图片')mark=im2bw(mark,0.4)%将水印转换为2值图像mark=double(mark)I=double(I)[Row,Col]=size(mark);forpi=1:1:Rowforpj=1:1:Colmark1((pi-1)*Col+pj)=mark(pi,pj);%一维矩阵,既序列endendwhos[CA,CH,CV,CD]=dwt2(I,'db1')%原始图像一级离散小波变换CV1=[CV]a=1[Row,Col]=size(CV);forpi=2:2:Row/2-1forpj=2:2:Col/2-1if(mark1==1)CV1(pi,pj)=CV(pi,pj)+a;elseCV1(pi,pj)=CV(pi,pj)-a;endendendwatermark=idwt2(CA,CH,CV1,CD,'db1',[512,512]);%离散小波逆变换watermark=uint8(watermark)%转换为8位非负整型subplot(1,3,3);imshow(watermark);title('嵌入水印后的图像')%显示嵌入水印的图像5.实验结果原始图像水印图片嵌入水印后的图像就算在一级分解下,嵌入后肉眼依然无法区分,表明嵌入成功,隐蔽良好结束