基于LSB算法的数字水印嵌入与提取方法_第1页
基于LSB算法的数字水印嵌入与提取方法_第2页
基于LSB算法的数字水印嵌入与提取方法_第3页
基于LSB算法的数字水印嵌入与提取方法_第4页
基于LSB算法的数字水印嵌入与提取方法_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

20沈阳理工大学数字图像处理课程设计报告1设计目的(1)理解数字水印的基本概念,深刻理解基于LSB算法的数字水印的嵌入和提取方法。(使用MATLAB语言编程实现图像水印的嵌入和提取。(3)能显示水印嵌入前后的载体图像,能显示嵌入和提取的水印。2设计方案2.1关于数字水印的知识关于数字水印的知识数字水印技术是一种在数字化多媒体数据中以信号处理的方式嵌入被隐藏的标签的技术,其通常不被显示,而只能用专用的检测器或读取器来提取。 数字水印是信息隐藏技术的重要研究方向。在数字水印技术中,水印的数据量和鲁棒性构成了基本矛盾。 主观上,理想水印算法不仅可以隐藏大量的数据,而且还应该能够对抗不同通道的噪声和信号的变形。 但是,实际上,这两个指标往往不能同时实现,但实际应用一般偏向于一方面,因此不影响电子水印技术的应用。 为了隐藏通信,数据量显然是最重要的,并且由于通信方案非常隐蔽,所以很少遇到敌人的篡改攻击,因此对鲁棒性的要求不高。 然而,为了确保数据的安全性,鲁棒性非常重要,在该情况下,隐藏数据量的请求处于次要地位,因为情况相反,各种机密数据面临随时被盗或被篡改的危险。 数字水印技术通过各种算法将一些象征的信息直接嵌入到多媒体内容中。然而,该技术并不影响原始内容的价值,并且,它不注意到人的感知系统。 水印信息是作者的序列号、公司标志、具有特殊意义的文本等,可以用于识别文件、图像和音乐产品的来源、版本、原作者、所有者、发行者、合法使用者对数字产品的所有权。 与密码技术不同,数字水印技术虽然不能阻止盗版活动的发生,但可以判别对象是否受保护,监视受保护的数据的传播、真伪判别和非法拷贝,解决着作权纠纷,为法庭提供证据。 为了增加攻击者去除水印的难度,目前,大多数水印制作方案采用密码学中的加密(包括公钥、私钥)方式来增强,水印嵌入、提取采用密钥,并同时使用一些密钥。随着计算机的应用逐渐广泛,网络技术的迅速发展,音频、视频等多媒体信息可以以数字形式传输和播放,大规模的非法复制成为可能,损害了音乐、电影、书籍和软件等出版业的发展,也成为知识分子本文首先介绍了数字水印技术的原理和分类,介绍了LSB算法的原理和LSB算法的实现,最后用MATLAB模拟了加密过程。2.2数字水印技术的基本原理电子水印的主要目的是向需要保护的媒体信息中添加特定信息。 追加的信息一般是表示媒体信息的着作权的内容。 例如,公司标志、媒体作者、特定代码等,确保电子水印能够抵抗一定的攻击而不容易被破坏或修改。 同时,数字水印被提取和检测。 数字水印的具体内容、算法、提取或检测过程因实际应用而有不同的要求。 数字水印的嵌入和提取过程如图2.1、图2.2所示。图2.1数字水印的嵌入过程图2.2数字水印的提取过程图2.1是数字水印的嵌入过程,插入钥匙能够提高数字水印的隐藏性、攻击性,不是必须的。 根据用途的不同,嵌入的水印有时需要还原,仅验证水印的存在性,前者需要电子水印的提取算法,而图2.2需要电子水印的检测算法,通过具体的水印算法,嵌入或者提取的过程需要2.3数字水印的分类数字水印算法通常分为两种空间域法和频域法,但频域法具有以下优点(1)嵌入的水印信号的能量可以分布于空间域中的所有像素,这有助于确保水印的不可见性(2)可对于水印编码过程更方便地并入视觉系统(HVS )的某些特性(例如,频率的掩蔽特性)。(3)频域方法与国际数据压缩标准兼容,在压缩域中实现水印编码。 因此我们也以频域法为中心,介绍了MATLAB在数字水印技术中的应用。根据数字水印的特性,可以分为数字水印和脆弱的数字水印。 稳健(robust )数字水印主要用于识别数字媒体信息的着作权信息,被嵌入的水印需要能够抵抗对媒体的通常编辑和恶意的攻击,而在对媒体进行了诸如裁剪、旋转、缩放、压缩等变换之后,水印信息就会变得巨大脆弱的水印相反对攻击敏感,可以从脆弱的水印的状态判断原始信息是否被修改。附加于数字水印的媒体可分为图像水印、声音水印、视频水印、文本水印等。 数字化媒体有各自的水印算法,也引起了数字水印算法的复杂性。由数字水印隐藏的位置划分可以分为空(时域)数字水印、频域数字水印、时/频域数字水印、时域/度数字水印。 原始信息通常表示为空间区域或者时域,可以基于信号处理理论将信号变化为另一区域,在各个区域中嵌入数字水印,并相应地生成数字水印算法。数字水印的可见性分为可见数字水印和非可见数字水印。 数字水印通常将公司的显示重叠在原始图像上,算法比较简单,也有Undreamt Marking Technologies公司的Photo Watermark等应用。 不可见数字水印要求嵌入的水印不被人的视觉系统察觉,其算法相对复杂。虽然对数字水印算法的分类有多种不同的分类方法,如按用途、检验过程等,但本文只介绍了一种比较常见的基于空间域的LSB算法。3设计方案3.1 LSB算法的介绍LSB是一种简单的传统信息隐藏算法,是数字水印技术之一。 介绍了LSB技术的原理和特征,研究了基于LSB的数字水印算法。 最后利用MATLAB 2009 b对该算法的加密过程进行了仿真。3.1.1 LSB算法的基本原理替换空区域的LSB或替换LSB的序列是根据添加的水印信息、水印的数字摘要或者水印而产生的伪随机序列。 由于水印信息的嵌入位置是LSB,所以允许嵌入的水印的强度不会太高,以满足水印的不可见性。 然而,LSB算法对这些操作敏感,因为对诸如行程长度编码之前的各种处理对非有效分量进行一定的压缩。 LSB算法最初用于脆弱性水印。3.1.2 LSB算法基本步骤(1)将得到的秘密信息被隐藏的10进制的像素值转换为二进制数据。(2)将对应载体数据的最低位比特置换为二进制秘密信息的各比特信息.(3)将包含所获得的机密信息的二进制数据转换为十进制的像素值,获得包含机密信息的图像.3.2 LSB算法的实现LSB算法的实现比较简单,首先需要考虑要嵌入的电子水印的数据量,如果嵌入最低的1比特,则能够嵌入的信息量为原图像信息量的1/8,如果应用最低的2比特,则能够嵌入的信息量为1/4。 但是,嵌入的数字水印的信息量越多,对图像的视觉效果的影响也越大。 在这里嵌入二值图像。 然后,适当地调整电子水印图像的尺寸和位数,与电子水印图像的数据量的请求相对应。 最后,对于原始图像中使用的最低位置0,可以将电子水印数据放置在原始图像的最低位置处。 用MATLAB 2009 b2实现该算法。在此选择了3264*2448像素、256灰度的图像、电子水印用的“万泉公园”这个文字的二值图像。设置0的方法调用类型2函数mod(a,2 ),通过从原始水印中减去所获得的数值,从而获得最低位为0的图像。 (在使用两位最低位的情况下,使用模式4函数mod(a,4 )进行减法运算)。 LSB算法简单、容易实现,同时能够保证电子水印的不可视性,并且能够对每个最低位的像素插入电子水印信息,因此具有很大的信息嵌入量。 LSB算法一般嵌入图像的两个最低有效比特,而嵌入比特的数目太多,这为人眼所认识到。 但是,由于电子水印处于图像中不重要的像素的位置,所以图像的滤波、量化、几何变化等操作容易被破坏,无法复原电子水印。 针对基本LSB算法的缺点,一些研究者提出了一些改进的算法。 例如,这些算法(例如,奇偶校验位隐藏算法、索引数据链隐藏算法等)提高了数字水印的隐藏性。3.3设计流程图3.3.1水印嵌入的流程图读入图像和水印图像用bitset函数把原图的最低位比特值变换为水印的值得到有水印的图像图3.1水印嵌入的流程图3.3.2水印提取的流程图读入包含水印的图像和水印图像用嵌入水印图像的最下位比特重构水印得到被嵌入的水印图3.2水印提取的流程图4程序源代码。(1)嵌入水印代码清除全部;%保存开始时间start_time=cputime;装入%原图像file_name=1.jpg;cover_object,map=imread(file_name )导入%水印图像file_name=2.jpg;消息,图1 =im read (file _ name )message1=message消息=双消息(消息) % %被转换为双消息message=fix(message./2) %被转换为由0,1组成的矩阵消息uint8(消息) % %转换为uint8数%原图的行数和列数Mc=size(cover_object,1) %原画的行数Nc=size(cover_object,2) %原图的列数%水印的行数和列数Mm=size(message,1) %水印的行数Nm=size(message,2) %水印的列数将%水印扩展到原始图像大小,并写入水印for ii=1:Mc毫升for jj=1:Nc水印(ii,jj )=消息(mod(jj,Mm) 1,mod(jj,Nm) 1;基于mod函数的馀数处理结束结束用水印值替换%原图像的最低位的值watermarked_image=cover_object;for ii=1:Mc毫米for jj=1:Nc水印图像(ii,jj )=比特(水印图像(ii,jj ),1,水印(ii,jj ) );使用bitset函数将原始贴图的最低比特值转换为水印值结束结束将%嵌入水印图像写入lsb_watermarked.bmpim写入(water marked _ image,lsb_watermarked.bmp,bmp )显示%执行时间elapsed _ time=CPU time-start _ time显示%嵌入水印图像figure(1)subplot (1,2,1 )im show (水印_ image,;title (嵌入水印图像)subplot (1,2,2 )imshow(cover_object, )title (原图像)%扩展水印for ii=1:Mc毫升for jj=1:Nc水印1 (ii,jj )=消息1 (模式(ii,Mm) 1,模式(jj,Nm) 1);用mod函数扩展水印结束结束显示%结果图像(2)子打印(1,2,1 )im show (水印1,;title (扩展的水印)图像(2)子打印(1,2,2 )im show (消息1, )title (原始水印)(2)水印的提取过程清除全部;%保存开始时间start_time=cputime;装入%嵌入水印图像file_name=lsb_watermarked.bmp;water marked _ image=im read (file _ name )要嵌入%水印图像的行数和列数Mw=size(watermarked_image,1) %嵌入水印图像的行数Nw=size(watermarked_image,2) %嵌入水印图像列数载入%原始水印file_name=2.jpg;orig _ watermark=im read (file _ name )%原始水印的行数和列数Mm=size(orig_watermark,1) %水印的行数Nm=size(orig_watermark,2) %水印的列数用%嵌入水印图像的最低位重建水印for ii=1:Mw毫瓦for jj=1:Nw水印(ii,jj )=比特获取(水印_图像(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论