基于Matlab的数字水印设计—基于DCT域的水印实现
基于Matlab的数字水印设计——基于空域的水印实现

摘要数字水印(Digital Watermarking)技术是我们生活中经常见到的信息隐藏技术。
它将一些标识信息(即数字水印)直接嵌入数字载体中,但不影响原载体的使用价值,也不容易被人的知觉系统觉察或注意到。
空间数字水印是信息隐藏技术的一个重要研究方向,另一类是频率数字水印。
空间数字水印采用最低有效位(LSB)算法,通过修改表示数字图像的颜色或颜色分量的位平面,调整数字图像中感知不重要的像素来表达水印的信息,以达到嵌入水印的目的。
本实验是基于matlab的数字水印设计——基于空域的水印实现。
关键词:信息隐藏技术;空间数字水印; LSB算法;matlab目录1 设计任务与目的 (1)2 MATLAB的简介及应用 (1)2.1 MATLAB简介 (1)2.2 MATLAB应用 (1)3 数字水印技术 (2)3.1 数字水印技术的发展 (2)3.2 水印分类 (2)3.3 数字水印的特点 (3)3.4 数字水印技术的基本原理 (4)4 基于LSB的数字水印算法 (5)4.1 LSB算法原理 (5)4.2 LSB算法的实现 (6)4.2.1 水印嵌入算法 (7)4.2.2 水印提取算法 (9)5 MATLAB软件仿真 (11)5.1 仿真结果 (11)5.1.1 水印嵌入仿真 (11)5.1.2 水印提取仿真 (12)5.2 仿真分析 (13)结论 (14)参考文献 (15)基于Matlab的数字水印设计——基于空域的水印实现1 设计任务与目的(1)通过课程设计把自己在大学中所学的知识应用到实践当中。
(2)在课程设计的过程中掌握程序编译及软件设计的基本方法。
(3)深入了解利用Matlab设计基于Matlab的数字水印设计——基于空域的水印实现。
(4)提高自己对于新知识的学习能力及进行实际操作的能力。
(5)锻炼自己通过网络及各种资料解决实际问题的能力。
2 MATLAB的简介及应用2.1 MATLAB简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
基于Matlab图像数字水印算法的设计

基于Matlab图像数字水印算法的设计肖玉兰【摘要】Digital watermarking provide an effective way for overcoming serious problems of digital images on the Internet, including copyright violation, illegal copying and genuine identification, etc. The authors develop a bi-image watermarking method. This paper introduces the commonly used Matlab function in the digital watermarking algorithm and accomplished a new kind of watermark-embedding and detecting algorithm based on the DCT. It has good robustness with the experimental results given that the image embedded watermark after the attack can be extracted successfully.%介绍了Matlab中用于图像数字水印的基本函数,通过设计程序实现了一个DCT城图像数字水印的嵌入和提取算法,并对已嵌入水印的图像实施了攻击(压缩30%).结果表明,被攻击后的图像仍能成功提取出嵌入的水印信息,具有较好的稳健性和鲁棒性.【期刊名称】《广西民族大学学报(自然科学版)》【年(卷),期】2012(018)003【总页数】4页(P66-69)【关键词】Matlab;数字水印;数字图像;DCT【作者】肖玉兰【作者单位】青海师范大学组织部,青海西宁810008【正文语种】中文【中图分类】TP309.70 引言网络技术和流媒体技术的迅速发展,给文本、图像、音视频信息的数字存取提供了快速、高效和方便的网络途径.但随之而来的弊端是一些从事网络剽窃的个人(或团体)在没有得到原创作品版权所有者的许可下利用各种非法手段获取并修改网络中传输的数据信息,非法拷贝有版权的内容.如何在网络环境中实施有效的版权保护和信息安全,已成为一个亟待解决的现实问题.诸多研究表明[1-6],利用现代数字信号处理技术有效实施数字作品的版权保护是业界公认的手段,其中数字水印技术是最典型方法[7-8],它是利用数字作品中存在的冗余数据把有效的版权保护信息通过一定的方法嵌入到数字化作品中用来保护数字化产品版权的相关技术.根据水印嵌入到数字作品中的区别,数字水印技术相关的算法分为时空域和变换域两大类型.其中时空域算法是将水印信息直接嵌入到数字作品的时间或空间域中;而变换域算法首先将数字作品做相应的数学变换[9-10]处理,通过改变这些变换域的相关系数来达到嵌入水印信息的目的.这两种算法都能成功实现数字水印信息的嵌入和提取,实现有效版权信息的保护,只是算法设计思路、针对性和运行效果不同.Matlab软件含有丰富的库函数,功能强,编程简单.笔者通过介绍Matlab中用于数字图像处理的基本函数,设计程序实现了一个DCT域图像数字水印的嵌入和提取算法,并对已嵌入水印的图像实施了有效的攻击(压缩30%).仿真结果表明,被攻击后的图像仍能成功提取出被嵌入的水印信息,具有较好的稳健性和鲁棒性.1 Matlab中的图像处理函数Matlab是由 MathWorks 公司开发的主要用于矩阵运算和可视化图形图像处理的计算语言,含有专门用于数字图像处理的基本变换函数[4](FFT、DCT、DWT等),极大地简化了算法的计算机实现.1.1 图像文件I/O函数1) imread和imwrite:用于读写图像文件,图像文件类型可以是.bmp、.hdf、.jpeg和.tiff等格式;2) load:把以.mat 为扩展名的图像文件调入到内存中,以备后续处理;3) save:将工作空间中的变量保存到以.mat 为扩展名的图像文件中.1.2 图像显示函数1) image:显示图像,可返回一个图像的句柄给一个image 对象;2) imshow:用于显示一幅图像;3) truesize:调整图像显示的大小.1.3 离散余弦变换函数(DCT域图像变换)1) dct和dct2:可分别实现一维和二维信号的离散余弦变换;2) idct和idct2:分别实现一维和二维信号的离散余弦反变换;3) blkproc:对图像进行不同的块处理.1.4 水印性能攻击相关的函数1) imcrop:把图像剪裁成具有一定大小的矩形;2) imresize:利用插值方法来调节图像的大小; 3) imrotate:将图像沿逆时针方向旋转指定的角度;4) corr2:计算图像之间的相关系数;5) imadjust:调整图像的对比度; 6) imnoise:给图像加噪处理;7) filter和 filter2:可实现对一维和二维信号的滤波处理.2 图像数字水印算法的实现这里我们以lena1像作为原始图像,将一个图像水印(版权信息)利用变换域算法嵌入到原始图像中,然后再利用水印提取(检测)算法来提取(检测)被嵌入的水印信息;其次,对已嵌入水印信息的图像进行攻击(压缩、剪贴、旋转等)[11],这里以图像压缩作为攻击,压缩比例可不断变化,文中只给出压缩比为30%的图像;最后对被攻击后的图像中的水印信息再次进行提取(检测),以验证水印的稳健性和鲁棒性等.该算法及实现在Matlab 7.0环境下完成.2.1 图像水印的嵌入和提取算法如图1和图2所示为图像水印嵌入和提取过程,其中原始图像为256×256×8的lena图像,水印信息为图像水印.图1 水印的嵌入过程Fig.1 Framework for watermark embedding图2 水印的提取(检测)过程Fig.2 Framework for watermark detection2.2 算法软件编程算法的软件程序主要包括:初始化、原始图像读取和显示、图像水印的嵌入、图像水印的提取(检测)和攻击等,由于篇幅有限,这里只给出水印的嵌入、提取(检测)和攻击部分程序:M=256; %原始图像的尺寸N=32; %水印图像的尺寸H=8;I=zeros(M,M); %原始图像J=zeros(N,N); %水印图像BLOCK=zeros(H,H);J=imread('bit1','bmp'); %显示水印图像imshow(J);I=imread('cameraman','bmp'); %显示原始图像imshow(I);tem=1; %嵌入水印信息for c=1:N;for d=1:N;x=(c-1)*H+1;y=(d-1)*H+1;BLOCK=I(x:x+H-1,y:y+H-1);……BLOCK(2,1)=BLOCK(2,1)*(1+a*0.01); %嵌入系数BLOCK=iDCT2(BLOCK); % DCT反变换, 得到含水印的图像I(x:x+H-1,y:y+H-1)=BLOCK; %自适应地嵌入到了图像中endendimshow(I); %显示嵌入水印后的图像imwrite(I,'embeded.bmp','bmp');M=256; %原图像长度N=32; %水印图像长度K=8;I=zeros(M,M); %原始图像Q=zeros(M,M); %嵌入水印后的图像J=zeros(N,N); %水印图像BLOCK1=zeros(H,H);BLOCK2=zeros(H,H);Q=imread('embeded','bmp'); %读取嵌入水印后的图像for c=1:N;for d=1:M;x=(c-1)*H+1;y=(d-1)*H+1;……if a<0W(c,d)=0;elseW(c,d)=1;……endimshow(W);2.3 图像的攻击检测将嵌入水印的图像进行攻击(这里将图像压缩30%),相应的部分程序如下:L=imread('embeded','bmp');imwrite(L,'attack1.jpg','jpeg','Quality',70);J1=imread('attack1.jpg','jpeg');imshow(J1);%I=imread('cameraman','bmp');for c=1:Nfor d=1:Nx=(c-1)*H+1;y=(d-1)*H+1;……imshow(W);title ('从遭受攻击后图像中提取水印') %图3~8分别为原始图像、水印图像、嵌入水印后的图像、提取的水印图像、受攻击后的图像、受攻击后图像中提取的水印图像.从图3~6可看出,被嵌入到原始图像中的图像水印信息能很好的提取(检测)出来,这说明图像水印的嵌入、提取算法和过程是可行的.从图7可清楚看到,原始图像被攻击(压缩30%)后,仍然能显示完整的图像信息,但图像容量减小了30%,这有利于图像存储和网络传输,既节省了存储空间又提高了传输速度.从图8同样可清楚看到,嵌入水印的图像被攻击(压缩30%)后依然能提取(检测)出水印信息,只是被提取的水印图像中有一些离散的数据点,整个水印图像清晰可见,与原始水印图像差别不大,这说明水印有较好的抗攻击能力,图像质量和效果良好,具有较好的稳健性和鲁棒性.图3 原始图像Fig.3 Original image图4 水印图像Fig.4 Watermark image图5 嵌入水印后图像Fig.5 image after embeded Watermarking图6 提取的水印图像Fig.6 Watermark image detected图7 被攻击的图像(压缩30%)Fig.7 Attacked image(compression ratio of 30%) 图8 攻击后提取的水印图像Fig.8 watermark detection after attacking3 结论通过设计程序实现了一个DCT域图象数字水印的嵌入和提取算法,并对已嵌入水印的图像实施了有效的攻击(压缩30%).仿真实验结果表明,被攻击后的图像中能成功提取出被嵌入的水印信息,既节省了存储空间又提高了传输速度,有利于图像存储和网络传输,具有较好的稳健性和鲁棒性.[参考文献]【相关文献】[1]黄继武. DCT域图像水印: 嵌入对策和算法[J].电子学报, 2000, 28(4):57-59.[2]余燕忠, 王新伟. 应用 MATLAB实现数字水印算法[J].电子科技, 2004,(6): 27-32.[3]Hu C, Wu J. DCT based Watermarking for Video[J]. IEEET rans.Consumer Electronics,1998, 44(1):206-216.[4]张芳. MATLAB与数字水印技术[J].天津工业大学学报, 2004, 2(1):83-84.[5]鞠武,万鲁冲.基于二维混合变换(DCT-DWT)的图像水印算法[J].微计算机信息,2010,26(2):202-205.[6]张秋余,李凯,袁占亭.基于混沌和SVD_DWT的稳健数字图像水印算法[J].计算机应用研究,2010,27(2):718-721.[7]周亚训,叶庆卫,徐铁峰. 基于小波和余弦变换组合的图像水印方案[J].电子学报, 2001,29(12):1693-1695.[8]黄松, 杨华千, 张伟,等. 一个新的基于DCT的自适应数字水印算法[J].计算机科学, 2006,33(6):148-151.[9]闫德勤,韩亚丹,高艳. 一种DCT中频水印嵌入与提取方法[J].计算机工程与应用, 2005, 5:65-67.[10]吕锋,杨彬.一种基于视觉模型的DCT数字水印算法[J].武汉理工大学学报, 2006, 28(12):125-128.[11]邓成,李洁,高新波.基于仿射协变区域的抗几何攻击图像水印算法[J].自动化学报,2010,36(2):221-224.。
基于Matlab的数字水印设计基于DCT域的水印实现课程设计

要摘数字水印(Digital Watermark)技术是指用信号处理地方法在数字化地多媒体数据中嵌入隐蔽地标记,这种标记通常是不可见地,只有通过专用地检测器或阅读器才能提取.数字水印是信息隐藏技术地一个重要研究方向.随着数字水印技术地发展,数字水印地应用领域也得到了扩展,数字. 水印地基本应用领域是版权保护、隐藏标识、认证和安全不可见通信当数字水印应用于版权保护时,潜在地应用市场在于电子商务、在线或离线地分发多媒体内容以及大规模地广播服务.数字水印用于隐藏标识时,可在医学、制图、数字成像、数字图像监控、多媒体索引和基于内容地检索等领域得到应用.数字水印地认证方面主要ID卡、信用卡、ATM卡等上面数字水印地安全不可见通信将在国防和情报部门得到广泛地应用.本文主要是根据所学地数字图象处理知识,在MATLAB环境下,通过系统编程地方式,建立并实现基于DCT域地数字水印加密系统.该系统主要包含数字水印地嵌入与提取,仿真结果表明,数字水印算法具有有效性、可靠性、抗攻击性、鲁棒性和不可见性,能够为数字媒体信息在防伪、防篡改、认证、保障数据安全和完整性等方面提供有效地技术保障.DCTTLAB;关键词:数字水印;MA录目1 课程设计目地 (1)2 课程设计要求 (2)3 数字水印技术基本原理 (3).......................................................................................................... 33.1 数字水印基本框架.......................................................................................................................... 3算法分类 3.2 ................................................................................................................. 43.2.1 DCT 法.............................................................................................................. 4其他方法 3.2.2 ...................................................................................................... 43.3 实际需要考虑地问题.............................................................................................................. 4不可见性 3.3.1 .................................................................................................................. 5 3.3.2 鲁棒性.............................................................................................................. 5 3.3.3 水印容量3.3.4 安全性 (5)4 基于DCT变换仿真............................................................................................................................................................................................................................ 6 4.1 算法原理.............................................................................................................. 6 4.1.1 准备工作.................................................................................................. 78*8变换块4.1.2 选取.......................................................................................................... 7边界自适应 4.1.3 ................................................................................................. 74.1.4 DCT变换与嵌入.............................................................................................................. 8 4.1.5 恢复空域.................................................................................................................. 8嵌入算法扩展4.2 ......................................................................... 8彩色图像三个矩阵地划分4.2.1 RGB...................................................................................................... 8 4.2.2 八色彩色水印...................................................................................................................... 9水印地提取 4.3 .......................................................................................................................... 9 仿真程序4.45 结果分析..................................................................................................................14结束语..........................................................................................................................16参考文献......................................................................................................................17课程设计目地1数字水印技术是用信号处理地方法在数字化地多媒体数据中嵌入隐蔽地标记,这种标记通常是不可见地,只有通过专用地检测器或阅读器才能提取.数字水印是信息隐藏技术地一个重要研究方向.在数字水印技术中,水印地数据量和鲁棒性构成了一对基本矛盾.从主观上讲,理想地水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形.然而在实际中,这两个指标往往不能同时实现,不过这并不会影响数字水印技术地应用,因为实际应用一般只偏重其中地一个方面.如果是为了隐蔽通信,数据量显然是最重要地,由于通信方式极为隐蔽,遭遇敌方篡改攻击地可能性很小,因而对鲁棒性要求不高.但对保证数据安全来说,情况恰恰相反,各种保密地数据随时面临着被盗取和篡改地危险,所以鲁棒性是十分重要地,此时,隐藏数据量地要求居于次要地位.数字水印技术是通过一定地算法将一些标志性信息直接嵌到多媒体内容当中,但不影响原内容地价值和使用,并且不能被人地知觉系统觉察或注意到.水印信息可以是作者地序列号、公司标志、有特殊意义地文本等,可用来识别文件、图像或音乐制品地来源、版本、原作者、拥有者、发行人、合法使用人对数字产品地拥有权.与加密技术不同,数字水印技术并不能阻止盗版活动地发生,但它可以判别对象是否受到保护,监视被保护数据地传播、真伪鉴别和非法拷贝、解决版权纠纷并为法庭提供证据.总地来说,数字水印可以携带有版权保护信息和认证信息,保护数字产品地合法拷贝和传播.课程设计要求2利用所学地数字图像处理技术,建立并实现基于DCT地数字水印加密系统,利用MATLAB软件系统来实现水印地嵌入和提取,并对算法地不可见性、鲁棒性进行测试.具体要求:TLAB程序设计方法;(1)熟悉和掌握MA TLAB图像处理工具箱;2)学习和熟悉MA (工具箱对图像进行处理和分析;)学会运用MA TLAB(3格式进行打开、保存、另存、退出等功能操作;)能对图像jpg(4软件对图像进行水印地嵌入和提取;)利用所学数字图像处理技术知识、MATLAB(5(6)在程序开发时,清楚主要实现函数目地和作用,需要在程序书写时做适当注释说明,理解每一句函数地具体意义和使用范围;.)每个程序都必须做到功能仿真成功,运行结果以图片地形式粘贴到报告中(7数字水印技术基本原理3数字水印基本框架3.1一个数字水印系统一般包括三个基本方面:水印地生成、水印地嵌入和水印地提取或检测.数字水印地嵌入和提取地一般过程基本框架如图3.1,图3.2所示.水印生成算法(G)数字水原始载体数(J)水印嵌入算私公(K)图3.1 水印嵌入地一般过程基本框架数字水(W)原始数据水印检测算法估计水印(W)/相似度检测) (I待检测数据W私钥/公钥(K)图3.2 水印检测地一般过程基本框架算法分类3.2.根据水印实现方法不同,数字水印可分为空(时)域数字水印和频域数字水印空域数字水印是直接在信号空间上叠加水印信号,而频域法加入数字水印地原理是首先将原始信号(语音一维信号、图像二维信号)变换到频域,常用地变换一般有DWT、DCT、DFT、WP和分形.然后,对加入了水印信息地信号进行频域反变换(IDWT、IDCT、DFT、WP),得到含有水印信息地信号.频域法检测水印地原理是将原始信号与待检测信号同时进行变换域变换,比较两者地区别,进行嵌入水印地逆运算,得出水印信息.如果是可读地水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出地水印与已知水印作比较,由相关性判断,待检测信号含不含水印,故水印地检测有两个结束点.频域法有以下优点:嵌入地水印信号能量可以分布到空域地所有像素上,有利于保证水印地不可见性;视觉系统(HVS)地某些特性(如频率地掩蔽特性)可以更方便地结合到水印编码过程中;频域法可与国际数据压缩标准兼容,从而实现在压缩域(compressed domain)内地水印编码.法3.2.1 DCT.对原始信号做DCT地算法:Cox和Piva等人提出地DCT技术地经典之作.Cox利用随机数发生器产生标准正态序列作为水印信息对图像进行整体DCT变换后,选取除去DC系数之外部分较低频率系数叠加水印信息。
(完整word版)信息隐藏实验七DCT域图像水印

实验七DCT域图像水印(一)实验目的了解频域水印的特点,掌握基于DCT系数关系的图像水印算法原理,设计并实现一种基于DCT域的图像水印算法。
(二)实验环境1、W indows xp操作系统2、M atlab 7.1版本软件3、B MP图像(三)实验原理1、嵌入信息利用载体中两个特定DCT系数的相对大小来表示隐藏的信息。
载体图像分为8*8分块,进行二维DCT变换,分别选择其中的两个位置,比如用(u1, v1)和(u2,v2)代表所选定的两个系数的坐标。
如果Bi (u1,v1)<Bi (u2,v2),代表隐藏了1;如果相反,贝U交换两系数。
如果Bi (u1,v2)>Bi (u2,v2),代表隐藏0;如果相反,则交换两系数2、提取信息提取的时候接收者对包含水印信息的图像文件进行二维DCT变换,比较每一块中约定位置的DCT系数值,根据其相对大小,得到隐藏信息的比特串,从而恢复出秘密信息。
3、特殊处理引入一个Alpha变量对系数的差值进行控制,将两个系数的差值放大,可以保证提取秘密信息的正确性。
(四)实验步骤1、嵌入秘密信息。
2、提取秘密信息。
(五)实验截图1、图像显示截图原始图像 嵌入水印图像结果:所隐藏的信息为‘ 0123456789(六)代码附录图1-1原始图像和携密图像的对比图结果:在显示上两者基本无差别2、所含秘密信息截图图1-2提取秘密信息1、嵌入秘密信息clc;clear;msgfid=fope n('hidde n.txt','r');%打开秘密文件,读入秘密信息[msg,co un t]=fread(msgfid);coun t=co un t*8;alpha=0.02;fclose(msgfid);msg=str2bit(msg)';[le n, col]=size(msg);io=imread('le na.bmp');% 读取载体图像io=double(io)/255;output=io;i仁io(:,:,1)%取图像的一层来隐藏T=dctmtx(8);%对图像进行分块DCTrgb=blkproc(i1,[8,8],'P1*x*P2',T,T');% 对图像分块进行DCT 变换[row,col]=size(DCTrgb);row=floor(row/8);col=floor(col/8);%顺序信息嵌入temp=0;for i=1:co untif msg(i,1)==0if DCTrgb(i+4,i+1)<DCTrgb(i+3,i+2)% 选择(5,2)和(4,3)这一对系数temp=DCTrgb(i+4,i+1);DCTrgb(i+4,i+1)=DCTrgb(i+3,i+2);DCTrgb(i+3,i+2)=temp;endelseif DCTrgb(i+4,i+1)>DCTrgb(i+3,i+2) temp=DCTrgb(i+4,i+1);DCTrgb(i+4,i+1)=DCTrgb(i+3,i+2);DCTrgb(i+3,i+2)=temp;endendif DCTrgb(i+4,i+1)<DCTrgb(i+3,i+2)DCTrgb(i+4,i+1)=DCTrgb(i+3,i+2)-alpha;% 将原本小的系数调整更小,使得系数差别变大elseDCTrgb(i+3,i+2)=DCTrgb(i+3,i+2)-alpha;endend%将信息写回并保存wi=blkproc(DCTrgb,[8,8],'P1*x*P2',T',T);% 对DCTrgb 进行逆变换output=io;output(:,:,1)=wi;imwrite(output,'le na1.bmp');figure;subplot(1,2,1);imshow('lena.bmp');title('原始图像');subplot(1,2,2);imshow('lena1.bmp');title('嵌入水印图像');2、提取秘密信息clc;clear;wi=imread('le na1.bmp');wi=double(wi)/255;wi=wi(:,:,1)%取图像的一层来提取T=dctmtx(8);%对图像进行分块DCTcheck=blkproc(wi,[8,8],'P1*x*P2',T,T');% 对图像分块进行DCT 变换for i=1:80%80为隐藏的秘密信息的比特数if DCTcheck(i+4,i+1)v=DCTcheck(i+3,i+2)message(i,1)=1;elsemessage(i,1)=0;endendout=bit2str(message);fid=fope n('message.txt','wt');fwrite(fid,out);fclose(fid);(七)实验心得通过此次的实验,了解了频域水印的特点。
基于Matlab的数字水印设计基于空域的水印实现

摘要数字水印(Digital Watermarking)技术是我们生活中经常见到的信息隐藏技术。
它将一些标识信息(即数字水印)直接嵌入数字载体中,但不影响原载体的使用价值,也不容易被人的知觉系统觉察或注意到。
空间数字水印是信息隐藏技术的一个重要研究方向,另一类是频率数字水印。
空间数字水印采用最低有效位(LSB)算法,通过修改表示数字图像的颜色或颜色分量的位平面,调整数字图像中感知不重要的像素来表达水印的信息,以达到嵌入水印的目的。
本实验是基于matlab的数字水印设计——基于空域的水印实现。
关键词:信息隐藏技术;空间数字水印; LSB算法;matlab目录1 设计任务与目的 (1)2 MATLAB的简介及应用 (1)2.1 MATLAB简介 (1)2.2 MATLAB应用 (1)3 数字水印技术 (2)3.1 数字水印技术的发展 (2)3.2 水印分类 (2)3.3 数字水印的特点 (3)3.4 数字水印技术的基本原理 (4)4 基于LSB的数字水印算法 (5)4.1 LSB算法原理 (5)4.2 LSB算法的实现 (6)4.2.1 水印嵌入算法 (7)4.2.2 水印提取算法 (9)5 MATLAB软件仿真 (11)5.1 仿真结果 (11)5.1.1 水印嵌入仿真 (11)5.1.2 水印提取仿真 (12)5.2 仿真分析 (13)结论 (14)参考文献 (15)基于Matlab的数字水印设计——基于空域的水印实现1 设计任务与目的(1)通过课程设计把自己在大学中所学的知识应用到实践当中。
(2)在课程设计的过程中掌握程序编译及软件设计的基本方法。
(3)深入了解利用Matlab设计基于Matlab的数字水印设计——基于空域的水印实现。
(4)提高自己对于新知识的学习能力及进行实际操作的能力。
(5)锻炼自己通过网络及各种资料解决实际问题的能力。
2 MATLAB的简介及应用2.1 MATLAB简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
基于dct域的数字水印算法

基于dct域的数字水印算法
数字水印技术是应用于数字版权保护领域的一种技术手段。
在数字媒体的传输和复制
过程中,数字水印技术可以将一些特定的信息加入到原始媒体中,使得这些信息不易被发
现和删除,从而防止数字媒体的盗版和篡改。
其中基于DCT域的数字水印算法是当前常用
的数字水印算法之一。
DCT变换是一种广泛应用于图像压缩中的技术,它会将图像分解成一系列DCT系数。
基于DCT域的数字水印算法通过利用图像的DCT系数,将水印信息隐藏在DCT系数中,从
而实现了数字媒体的保护。
基于DCT域的数字水印算法主要包括以下步骤:
一、水印信息的嵌入
1.将原始图像通过DCT变换得到一组DCT系数。
2.将水印信息转换为二进制序列,并将其嵌入到DCT系数中。
1.对含有水印信息的图像重新进行DCT变换。
3.对比提取出的二进制序列与原始水印信息,判断是否一致。
1.嵌入过程简单:通过将水印信息嵌入到DCT系数中,可以避免在图像像素域内的复
杂计算和处理,从而提高了嵌入过程的效率。
2.抗攻击性强:由于水印信息被嵌入到DCT系数中,在图像压缩、旋转、裁剪等操作
中也不容易被破坏,因此抗攻击性较强。
3.鲁棒性好:基于DCT域的数字水印算法水印信息的嵌入不会对图像的色调、饱和度、亮度等造成影响,因此不会产生图像视觉上的畸变。
基于DCT域的数字水印算法在数字版权保护领域具有广泛的应用,但其嵌入的水印信
息难以被视觉感知,需要通过专门的算法来提取和检测。
基于DCT的数字水印算法的研究

基于DCT的数字水印算法的研究Research of Digital Watermarking Algorithm Based on Discrete CosineTransform摘要近年来,由于网络的迅猛发展,越来越多的多媒体信息已经走向数字化。
人们可以从网上更加方便的取得各类信息,可以更加方便的对别人的作品进行篡改,复制等,由此带来的版权维护问题也日益严重。
版权维护也越来越受到人们的关注了,数字水印技术是解决这类问题最有效的手段,所以数字水印技术现在已然成为了研究的热点。
本文是对基于DCT域数字水印算法的研究,简要介绍数字水印的发展,基本原理等,在MATLAB环境中完成两种基于DCT域数字水印算法的设计。
第一种是基于DCT图像全局变换的数字水印算法,而第二种则可以认为是第一种算法的改进,是基于DCT域分块水印算法。
然后对于水印系统的鲁棒性,进行一些攻击测试,有盐噪声攻击、高斯噪声攻击、旋转攻击、剪切攻击、JPEG有损压缩攻击等,对比分析哪种算法更好。
虽然说该课题只不过是对现有的数字水印技术进行了一个比较简单的研究,但是让我们充分认识到了数字水印技术对我们日常生活的重要性。
关键词:数字水印DCT 攻击测试AbstractIn recent years,with the rapid development of the network,more and more multimedia information has been digitized.People can obtain various kinds of information from the Internet more convenient, the work of others will be altered and copied more convenient, copyright protection issues are also increasingly serious. People are more and more concerned about copyright protection, digital watermarking technology is the most effective means to solve these problems, so the digital watermarking technology has become a hot topic now.This article is to study based on DCT-domain digital watermarking algorithm, introduced the development of digital watermarking and the basic principles etc,completed two design schemes based on DCT-domain digital watermarking algorithm in MATLAB environment. The first one is based on digital image watermarking algorithm global transformation of DCT, while the second one can be considered to improve the first algorithm, which is based on DCT-domain block watermarking algorithm. Then for the robustness of the watermarking system, we performed some attack test, salt noise attack, Gaussian noise attack and spin attack, cropping attack, JPEG compression attack, in order to prove which is better. Although the subject is a relatively simple research for the existing digital watermarking technique , but it let us aware of the importance of digital watermarking technology in our daily life.Key words:Digital watermarking DCT Robustness Attack test目录摘要 (I)Abstract ............................................................................................................................... I I 绪论 .. (1)1 数字水印的介绍 (3)1.1 数字水印定义及基本特点 (3)1.1.1 定义 (3)1.1.2 基本特点 (3)1.2 数字水印基本原理 (3)1.2.1 水印嵌入 (4)1.2.2 水印提取 (4)1.3 数字水印分类 (5)1.4 数字水印的常见算法 (6)1.4.1 空域算法 (6)1.4.2 变换域算法 (6)1.4.3 JPEG压缩域算法 (6)1.4.4 NEC算法 (7)1.4.5 生理模型算法 (7)2 开发工具和环境 (8)2.1 MATLAB简介 (8)2.2 MATLAB语言特点 (8)3 基于DCT域数字水印算法实现 ................................................... 错误!未定义书签。
毕业设计(论文)-基于dct域的数字水印算法研究与应用[管理资料]
![毕业设计(论文)-基于dct域的数字水印算法研究与应用[管理资料]](https://img.taocdn.com/s3/m/9fefdf8101f69e31423294dd.png)
毕业设计中文摘要毕业设计英文摘要目次1 绪论 (1)课题的研究现状及热点问题 (1)数字水印的关键技术及应用 (2)本文的主要研究内容 (5)2 数字水印的基本原理 (6)DCT域数字水印嵌入原理 (6)DCT域数字水印提取原理 (6)本章小结 (7)3 数字水印的嵌入设计 (7)DCT域数字水印嵌入流程 (7)水印嵌入的结果 (8)本章小结 (11)4 数字水印的提取设计 (12)DCT域数字水印提取流程 (12)水印提取的结果 (13)本章小结 (15)5 鲁棒性分析 (16)抗噪声测试 (16)抗压缩测试 (20)本章小结 (21)结论 (22)参考文献 (23)致谢 (25)附录A (25)附录B (27)1 绪论课题的研究现状及热点问题随着计算机的普及,许多传统媒体内容都向数字化转变,并且在电子商务中即将占据巨大市场份额,如mp3的网上销售,数字影院的大力推行,网上图片、电子书籍销售等等,在无线领域,随着移动网络由第二代到第三代的演变,移动用户将能方便快速的访问因特网上数字媒体内容,基于有线或无线网络的数字媒体内容的应用即将是信息时代新的传统。
但是,数字媒体内容的安全问题成了瓶颈问题,一度制约着信息化进程。
为了有效地解决信息安全和版权保护等问题,近年来提出了加解密、数字签名、数字指纹、数字水印等多种技术。
其中数字水印是20世纪90年代出现的一门崭新的技术,它通过在数字产品中嵌入水印信息来确定数字产品的所有权或检验数字内容的原始性[1]。
它弥补了加解密技术不能对解密后的数据提供进一步保护的不足, 弥补了数字签名不能在原始数据中一次性嵌入大量信息的弱点, 弥补了数字指纹仅能给出版权破坏者信息的局限[2]。
国际上一些成立了专门的机构,如拷贝保护技术工作组(CPTWG,Copy Protection Technique Working Group)从1995年开始致力于基于DVD的视频版权保护研究,安全数字音乐创始(SDMI,Secure Digital Music Initiative)从1999年开始研究音频的版权版护,数字水印是其中的核心关键技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩评定表课程设计任务书摘要数字水印(Digital Watermark)技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。
数字水印是信息隐藏技术的一个重要研究方向。
随着数字水印技术的发展,数字水印的应用领域也得到了扩展,数字水印的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信。
当数字水印应用于版权保护时,潜在的应用市场在于电子商务、在线或离线地分发多媒体内容以及大规模的广播服务。
数字水印用于隐藏标识时,可在医学、制图、数字成像、数字图像监控、多媒体索引和基于内容的检索等领域得到应用。
数字水印的认证方面主要ID卡、信用卡、ATM卡等上面数字水印的安全不可见通信将在国防和情报部门得到广泛的应用。
本文主要是根据所学的数字图象处理知识,在MATLAB环境下,通过系统编程的方式,建立并实现基于DCT域的数字水印加密系统。
该系统主要包含数字水印的嵌入与提取,仿真结果表明,数字水印算法具有有效性、可靠性、抗攻击性、鲁棒性和不可见性,能够为数字媒体信息在防伪、防篡改、认证、保障数据安全和完整性等方面提供有效的技术保障。
关键词:数字水印;MATLAB;DCT目录1 课程设计目的 (1)2 课程设计要求 (2)3 数字水印技术基本原理 (3)3.1 数字水印基本框架 (3)3.2 算法分类 (3)3.2.1 DCT法 (4)3.2.2 其他方法 (4)3.3 实际需要考虑的问题 (4)3.3.1 不可见性 (4)3.3.2 鲁棒性 (5)3.3.3 水印容量 (5)3.3.4 安全性 (5)4 基于DCT变换仿真 (6)4.1 算法原理 (6)4.1.1 准备工作 (6)4.1.2 选取8*8变换块 (7)4.1.3 边界自适应 (7)4.1.4 DCT变换与嵌入 (7)4.1.5 恢复空域 (8)4.2 嵌入算法扩展 (8)4.2.1 RGB彩色图像三个矩阵的划分 (8)4.2.2 八色彩色水印 (8)4.3 水印的提取 (9)4.4 仿真程序 (9)5 结果分析 (14)结束语 (17)参考文献 (18)1课程设计目的数字水印技术是用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。
数字水印是信息隐藏技术的一个重要研究方向。
在数字水印技术中,水印的数据量和鲁棒性构成了一对基本矛盾。
从主观上讲,理想的水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形。
然而在实际中,这两个指标往往不能同时实现,不过这并不会影响数字水印技术的应用,因为实际应用一般只偏重其中的一个方面。
如果是为了隐蔽通信,数据量显然是最重要的,由于通信方式极为隐蔽,遭遇敌方篡改攻击的可能性很小,因而对鲁棒性要求不高。
但对保证数据安全来说,情况恰恰相反,各种保密的数据随时面临着被盗取和篡改的危险,所以鲁棒性是十分重要的,此时,隐藏数据量的要求居于次要地位。
数字水印技术是通过一定的算法将一些标志性信息直接嵌到多媒体内容当中,但不影响原内容的价值和使用,并且不能被人的知觉系统觉察或注意到。
水印信息可以是作者的序列号、公司标志、有特殊意义的文本等,可用来识别文件、图像或音乐制品的来源、版本、原作者、拥有者、发行人、合法使用人对数字产品的拥有权。
与加密技术不同,数字水印技术并不能阻止盗版活动的发生,但它可以判别对象是否受到保护,监视被保护数据的传播、真伪鉴别和非法拷贝、解决版权纠纷并为法庭提供证据。
总的来说,数字水印可以携带有版权保护信息和认证信息,保护数字产品的合法拷贝和传播。
2课程设计要求利用所学的数字图像处理技术,建立并实现基于DCT的数字水印加密系统,利用MATLAB软件系统来实现水印的嵌入和提取,并对算法的不可见性、鲁棒性进行测试。
具体要求:(1)熟悉和掌握MATLAB程序设计方法;(2)学习和熟悉MATLAB图像处理工具箱;(3)学会运用MATLAB工具箱对图像进行处理和分析;(4)能对图像jpg格式进行打开、保存、另存、退出等功能操作;(5)利用所学数字图像处理技术知识、MATLAB软件对图像进行水印的嵌入和提取;(6)在程序开发时,清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围;(7)每个程序都必须做到功能仿真成功,运行结果以图片的形式粘贴到报告中。
3数字水印技术基本原理3.1 数字水印基本框架一个数字水印系统一般包括三个基本方面:水印的生成、水印的嵌入和水印的提取或检测。
数字水印的嵌入和提取的一般过程基本框架如图3.1,图3.2所示。
图3.1 水印嵌入的一般过程基本框架图3.2 水印检测的一般过程基本框架3.2 算法分类根据水印实现方法不同,数字水印可分为空(时)域数字水印和频域数字水印。
空域数字水印是直接在信号空间上叠加水印信号,而频域法加入数字水印的原理是首先将原始信号(语音一维信号、图像二维信号)变换到频域,常用的变换一般有DWT、DCT、DFT、WP和分形。
然后,对加入了水印信息的信号进行频域反变换(IDWT、IDCT、DFT、WP),得到含有水印信息的信号。
频域法检测水印的原理是将原始信号与待检测信号同时进行变换域变换,比较两者的区别,进行嵌入水印的逆运算,得出水印信息。
如果是可读的水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出的水印与已知水印作比较,由相关性判断,待检测信号含不含水印,故水印的检测有两个结束点。
频域法有以下优点:嵌入的水印信号能量可以分布到空域的所有像素上,有利于保证水印的不可见性;视觉系统(HVS)的某些特性(如频率的掩蔽特性)可以更方便地结合到水印编码过程中;频域法可与国际数据压缩标准兼容,从而实现在压缩域(compressed domain)内的水印编码。
3.2.1 DCT法对原始信号做DCT的算法:Cox和Piva等人提出的DCT技术的经典之作。
Cox利用随机数发生器产生标准正态序列作为水印信息对图像进行整体DCT变换后,选取除去DC 系数之外部分较低频率系数叠加水印信息;Piva则修改整幅图像的中频部分。
对原始信号分块后,再作DCT的算法:Hsu和Wu把图像进行8*8分块,将一个二进制序列作为水印放入DCT的中频区;有些学者则计算整个图像的DCT,把一个实数序列嵌入DCT的中频系数上。
选择中频区的好处是一方面尽量减少嵌入信息对图像主观视觉的影响;同时,尽量避免有损压缩对水印信息可能带来的损失。
还有一种DCT方法就是把水印信息嵌入到高频系数上,但是采用这种方法,抗压缩性非常差。
3.2.2 其他方法其它变换域还有Fourier-mellin域、Fourier变换域、分形或WP(Wavelet Package)等。
以上的变换域算法计算量都非常大,编程实现这些变换和逆变换也需要好好下一番功夫,由此造成研究人员把大量的时间和精力浪费在与水印算法研究无关的问题上。
3.3 实际需要考虑的问题在数字水印技术中,水印的数据量和鲁棒性构成了一对基本矛盾。
从主观上讲,理想的水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形。
然而在实际中,这两个指标往往不能同时实现,不过这并不会影响数字水印技术的应用,因为实际应用一般只偏重其中的一个方面。
如果是为了隐蔽通信,数据量显然是最重要的,由于通信方式极为隐蔽,遭遇敌方篡改攻击的可能性很小,因而对鲁棒性要求不高。
但对保证数据安全来说,情况恰恰相反,各种保密的数据随时面临着被盗取和篡改的危险,所以鲁棒性是十分重要的,此时,隐藏数据量的要求居于次要地位。
3.3.1 不可见性对于以模拟方式存储和分发的信息(如电视节目),或是以物理形式存储的信息(如报刊、杂志),用可见的标志就足以表明其所有权。
但在数字方式下,标志信息极易被修改或擦除。
因此应根据多媒体信息的类型和几何特性,利用用户提供的密钥将水印隐藏到一系列随机产生的位置中,使人无法察觉。
图3.3左侧为原始图像,右侧为嵌入水印后的图像。
图3.3 原始图像与嵌入水印后的图像对比3.3.2 鲁棒性水印必须对一般的信号处理操作(如滤波、平滑、增强、有失真压缩等)、删除攻击、迷惑攻击等具有鲁棒性。
除非对数字水印具有足够的先验知识,任何破坏和消除水印的企图都将严重破坏多媒体信息的质量。
3.3.3 水印容量嵌入的水印信息必须足以表示多媒体内容的创建者或所有者的标志信息,或是购买者的序列号。
这样在发生版权纠纷时,创建者或所有者的信息用于标示数据的版权所有者,而序列号用于标示违反协议而为盗版提供多媒体数据的用户。
数字水印在多媒体信息安全中的另一个重要应用就是内容的真实性鉴定(即认证)。
当多媒体内容发生改变时,具有较强的敏感性的易损水印(Fragile watermarking)会随之发生一定程度的改变,从而可以鉴定原始数据是否被篡改。
3.3.4 安全性水印的安全性要求未授权者不能发现数字作品中含有水印信息。
或者算法安全性仅仅依赖于密钥而不依赖于算法的保密性。
因此在没有密钥的情况下,未授权者即使知道含有水印信息和知道水印算法,也不能提取出水印信息或者破坏水印信息。
另外算法还应该能够抵抗合谋攻击。
由于水印特性的要求对应用的依赖型很强,恰当的评价准则和具体的应用有关。
4基于DCT变换仿真4.1 算法原理离散余弦变换(Diserete Cosine Transform)简称DCT变换。
离散余弦变换是傅立叶变换的一种特殊情况,在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出离散余弦变换,因此余弦变换与傅里叶变换一样有明确的物理意义,DCT变换避免了傅里叶变换中的复数运算,它是基于实数的正交变换。
DCT变换域数字水印算法的基本原理是将空域图像变成频域,然后将水印信息嵌入其直流项之中,最后将频域转换成空域以完成图片的水印的嵌入。
其主要思想是:在DCT 变换域上选择中、低频系数叠加水印信息,因为人眼的感觉主要集中在中、低频段,攻击者破坏水印时,不可避免地会引起图像质量的严重下降,而且一般的图像处理也不会改变这部分数据。
再者,由于JPEG、MPEG等压缩算法的核心是在DCT变换域上进行量化,故通过巧妙的融合水印和量化过程,可以使水印抵御一定的有损压缩。
此外,DCT 变换域系数的统计分布有比较好的数学模型,可以从理论上估计水印的信息量。
基于DCT 变换的数字水印在逆变换时会散布在整个图像空间中,故水印不像空间域技术那样易受到裁剪、低通滤波等攻击的影响,具有鲁棒性高、隐蔽性好的特点。
4.1.1 准备工作首先要读入一幅待嵌入的原始图片I=f1(x,y)以及一幅水印图M=f2(x,y)。