收藏 分享(赏)

基于OpenCV 的能量差数字水印系统开发.doc

上传人:wo7103235 文档编号:6250216 上传时间:2019-04-03 格式:DOC 页数:39 大小:587.50KB
下载 相关 举报
基于OpenCV 的能量差数字水印系统开发.doc_第1页
第1页 / 共39页
基于OpenCV 的能量差数字水印系统开发.doc_第2页
第2页 / 共39页
基于OpenCV 的能量差数字水印系统开发.doc_第3页
第3页 / 共39页
基于OpenCV 的能量差数字水印系统开发.doc_第4页
第4页 / 共39页
基于OpenCV 的能量差数字水印系统开发.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、厦门大学软件学院毕业论文1摘要随着计算机和网络技术的飞速发展,数字文档、图像、音频和视频等多媒体产品得到日益普及和广泛应用。但是,数字化产品在发布和传送过程中容易被侵权、盗版或随意篡改,数字产品的版权保护问题已经成为世界各国期待解决的问题之一。数字水印处理技术作为一种新的可以有效解决数字产品版权保护问题的技术手段,近年来已成为信号与信息处理领域的研究热点。它通过在数字产品中秘密地嵌入不可感知的信息水印来确定产品的所有权或检验其内容的原始性。数字水印技术是 1994 年提出的相当新的一种信息伪装技术。它的基本思想是在数字图像、音频和视频等产品中嵌入秘密的信息以便保护数字产品的版权或证明产品的真实

2、可靠性。数字水印技术一方面弥补了密码技术的缺陷,因为它可以为解密后的数据提供进一步的保护。本文旨在解决数字产品发布过程中防侵权、防盗版和防篡改的技术理论问题,对版权保护和鉴别、保密通信、电子商务和网络化测试等领域有重要学术意义和实用价值。本课题使用 OpenCV 进行图像读写;以 Microsoft Visual C+ 6.0 为开发平台,使用C+编程语言,在图像信息的变换域上采用能量差技术实现水印信号的嵌入和检测,将 bmp 格式的水品嵌入图像文件,并即时提取嵌入的水印。关键词 数字水印,能量差,差分能量,离散余弦变换厦门大学软件学院毕业论文2AbstractWith the rapid d

3、evelopment of computer and network, digital products, such as text, image, audio and video, have been popularized increasingly and applied widely. However, the issue of copyright protection needs to be solved urgently since digital products can be easily copied, pirated or tampered with in the trans

4、mission process. As a new and effective approach to solve the copyright protection problem, digital watermarking has become a very active research area within the field of signal and information processing. The imperceptible information - watermarking is secretly embedded into digital products which

5、 can be used to establish the copyright ownership or verify the originality of the contents.Digital watermarking is really a new information hiding technique, which is first presented in 1994. The basic idea is to embed secret information into the digital products such as image, video and audio, to

6、protect the copyright of digital products or to verify the products. In the one hand, digital watermarking can make up the shortcomings of cryptography, because it can protect the decrypted data. It is of importance and value to the fields such as copyright protection and authentication, secret tran

7、smission, electronic business and network testing.This paper uses OpenCV reading and writing image document. Microsoft Visual C+ 6.0 is developing platform, and C+ is programming language. DEW (differential energy watermarking) is core technology, and the watermark embeds BMP formatting watermark in

8、to the image document and duly abstract the embedded watermark.Key words Digital watermark,differential energy watermarking,DCT厦门大学软件学院毕业论文3目 录第一章 选题背景 71.1 数字水印简介 71.1.1 数字水印的基本特征 .81.1.2 数字水印的基本原理 .111.1.3 数字水印的研究现状 .111.2 图像文件格式介绍 121.2.1 Bmp 格式概要 .121.2.2 存储算法 .121.2.3 Bmp 格式文件的存储形式 .131.3 开发工具

9、.131.3.1 OpenCV131.3.2 Microsoft Visual C+ 6.014第二章 图像文件的数字水印技术介绍 172.1 空域技术 .172.1.1 LSB 位算法 .172.1.2 空域技术优缺点 172.2 变换域技术 .182.2.1 基于离散余弦变换 .182.2.2 基于小波变换 .182.2.3 基于付氏变换 .192.2.4 变换域技术的优缺点 .19第三章 基于 OpenCV 的能量差数字水印的详细设计 .203.1 算法的基本思想 .203.2 水印嵌入过程 .223.3 水印提取过程 .23厦门大学软件学院毕业论文4第四章 基于 OpenCV 的能量差

10、数字水印试验 .254.1 水印的嵌入 254.2 水印的提取 274.3 对水印的鲁棒性进行测试 .28第五章 结束语 30致 谢 31参考文献 32厦门大学软件学院毕业论文5CONTENTSChapter 1 SUBJECT BACKGROUND71.1 The Introduction of Digital Watermark.71.1.1 Digital Watermarking Technology Features .81.1.2 Digital Watermarking Theory .111.1.3 Digital Watermarking Researching State

11、111.2 The Introduction Of The Image File Format.121.2.1 Brief Introduction of BMP Format Image Document.121.2.2 Storage Arithmetic 121.2.3 BMP Storage Format.131.3 Develop Tools .131.3.1 OpenCV.131.3.2 Microsoft Visual C+ 6.014Chapter 2 INTRODUCTION OF DIGITAL WATERMARK IN IMAGE DOCUMENT.172.1 The T

12、echnology Of Airspace 172.1.1 The Arithmetic Of LSB.172.1.2 The Advantage And Disadvantage Of The Technology Of Airspace.182.2 The Technology Of Transpositional Space .182.2.1 Using The Technology Of DCT182.2.2 Using The Technology Of DWT.192.2.3 Using The Technology Of DFT 192.2.4 The Advantage And

13、 Disadvantage Of The Technology Of Transpositional Space20Chapter 3 IMPLEMENTATION OF THE DIFFERENTIAL ENERGY WATERMARK 203.1 DEW Algorithm 233.2 Watermark Embedding253.3 Watermark Extraction And Detection.25Chapter 4 WATERMARKING SYSTEM DEMONSTRATION.254.1 Watermark Embedding25厦门大学软件学院毕业论文64.2 Wate

14、rmark Extraction And Detection.274.3 Testing of Robustness .28Chapter 5 CONCLUDING REMARKS 30ACKNOWLEDGEMENT31REFERENCE 32厦门大学软件学院毕业论文7第一章 选题背景1.1 数字水印简介近年来,计算机和网络的飞速发展在许多方面改变了人们的生活。人们的很多创作和生产成果都以数字方式进行存储和传输。基于计算机网络的多媒体信息交换,数字产品的使用、传播可使基于计算机网络的多媒体信息交换更为便利。数字文本、图像、音频和视频等多媒体产品因此得到日益普及和广泛应用。数字媒体产品本身具有可

15、以被大批量、无失真地复制,可通过网络高效传输等优点,然而这也带来了版权保护和信息安全的问题。这个问题在很大程度上阻碍了信息数字化发展。世界各国政府、企业和科研部门对此高度重视,其中如何防止数字产品被侵权、盗版和随意篡改,已成为了一项重要的技术课题。对于这个课题,加密传输是最初的设想,即首先将多媒体数据文件加密成密文后发布,使得网络传递过程中出现的非法攻击者无法从密文获得机密信息,从而达到版权保护和信息安全的目的,但这并不能完全解决问题。一方面加密后的文件因其不可理解性妨碍多媒体信息的传播;另一方面多媒体信息经过加密后容易引起攻击者的好奇和注意,并有被破解的可能性,而且一旦加密文件经过破解后其内

16、容就完全透明了。而数字水印处理技术弥补了加密传输不能对解密后的数据提供进一步保护的不足。这种技术通过在数字产品中嵌入可感知或不可感知的信息来确定产品的所有权或校验其内容的真实性和完整性。信息之所以能够隐藏在多媒体数据中是因为:一方面多媒体信息本身存在很大的冗余性;另一方面,人眼或人耳本身对某些信息都有一定的掩蔽效应,比如人眼对灰度的分辨率只有几十个灰度级;对边沿附近的信息不敏感等。利用人的这些特点,可以很好地将信息隐藏而不被察。当非法用户截获到含密文件后,他只能解读文件载体的内容,而不会意识到其中含有秘密信息,或即使知道其中含有隐秘信息也不能解读出来。 数字水印可以有不同的分类:根据数字水印的

17、嵌入结果可将其分为可感知的数字水印和不可感知的数字水印;根据数字水印嵌入域的不同可将其分为空间域字水印和变换域数字水印;根据数字水印的提取过程是否需要原始作品参与将其分为盲提取水印和非盲提取水印(或称为公有数字水印和私有数字水印) ;还可以根据数字水印的鲁棒性特征将其分为易碎水印、半易碎水印和鲁棒水印;此外,根据载体的不同还可以将其分为文本水印、图像水印、音频水印和视频水印。厦门大学软件学院毕业论文81.1.1 数字水印的基本特征水印就是向被保护的数字对象(如静止图像、视频、音频等) 嵌入某些能证明版权归属或跟踪侵权行为的信息 ,可以是作者的序列号、公司标志、有意义的文本等等。与水印相近或关系

18、密切的概念有很多 ,从目前出现的文献中看 ,已经有诸如信息隐藏、信息伪装、数字水印和数字指纹(fingerprinting) 等概念。在某种意义上 ,它们是互相重叠而且常常被不加区别地使用。一般地,数字水印应有如下的几个基本特征:(1)可证明性水印应能为受到版权保护的信息产品的归属提供完全和可靠的证据。水印算法识别被嵌入到保护对象中的所有者的有关信息(如注册的用户号码、产品标志或有意义的文字等)并能在需要的时候将其提取出来。水印可以用来判别对象是否受到保护,并能够监视被保护数据的传播、真伪鉴别以及非法拷贝控制等。这实际上是发展水印技术的基本动力,虽然从目前的文献来看,对其研究相对少一些。就目前

19、已经出现的很多算法而言,攻击者完全可以破坏掉图像中的水印,或复制出一个理论上存在的“原始图像” ,这导致文件所有者不能令人信服地提供版权归属的有效证据。因此一个好的水印算法应该能够提供完全没有争议的版权证明,在这方面还需要做很多工作。(2)不可感知性不可感知包含两方面的意思,一个指视觉上的不可见性,即因嵌入水印导致图像的变化对观察者的视觉系统来讲应该是不可察觉的,最理想的情况是水印图像与原始图像在视觉上一模一样,这是绝大多数水印算法所应达到的要求;另一方面水印用统计方法也是不能恢复的,如对大量的用同样方法和水印处理过的信息产品即使用统计方法也无法提取水印或确定水印的存在。(3)鲁棒性鲁棒性问题

20、对水印而言极为重要。鲁棒性是一个技术术语,简单而言,就是指一个数字水印应该能够承受大量的、不同的物理和几何失真,包括有意的(如恶意攻击)或无意的(如图像压缩、扫描与复印、噪声污染、尺寸变化等等) 。在经过这些操作后,鲁棒的水印算法应仍能从水印图像中提取出嵌入的水印或证明水印的存在。如果不掌握水印的所有有关知识,数据产品的版权保护标志应该很难被伪造。若攻击者试图删除水印则将导致多 媒体产品的彻底破坏。假设一个读者在网上下载了数字图书馆发布的作品,打印出来并非法大量散发以牟厦门大学软件学院毕业论文9取利益,那么包含水印的作品应能在有物理失真的情况下依然提供足够的版权证据。水印嵌入算法的研究非常活跃

21、,层出不穷。总体上可以分成两类,一类是空间域算法,另一种是变换域算法。空间域算法的典型代表 Schyndel 提出的将水印信息叠加或替换载体信号的 LSB 位算法。变换域算法的典型代表是由 Cox 等人提出的离散余弦变换法。也有很多学者研究了小波变换、分形和混沌等理论在水印嵌入方面的应用。衡量水印嵌入算法优劣的因素主要有:保真性、鲁棒性、安全性、计算复杂性等。所谓保真性也称为不可见性,是指嵌入水印后的媒体在视觉或听觉上不能明显感觉出来有什么区别。所谓鲁棒性也称为稳健性,是指水印系统能抵抗各种信号处理和攻击的能力。所谓安全性,是指水印不易被复制、伪造、非法检测和移去的能力。所谓低复杂性,是指水印

22、的嵌入和提取算法复杂度低,便于推广应用。1.1.1.1 数字水印的类别按特性划分 按水印的特性可以将数字水印分为鲁棒数字水印和易损数字水印两类。鲁棒数字水印主要用于在数字作品中标识著作权信息,利用这种水印技术在多媒体内容的数据中嵌入创建者、所有者的标示信息,或者嵌入购买者的标示(即序列号) 。在发生版权纠纷时,创建者或所有者的信息用于标示数据的版权所有者,而序列号用于追踪违反协议而为盗版提供多媒体数据的用户。用于版权保护的数字水印要求有很强的鲁棒性和安全性,除了要求在一般图象处理(如:滤波、加噪声、替换、压缩等)中生存外,还需能抵抗一些恶意攻击。 易损水印(Fragile Watermarki

23、ng) ,与鲁棒水印的要求相反,易损数字水印主要用于完整性保护,这种水印同样是在内容数据中嵌入不可见的信息。当内容发生改变时,这些水印信息会发生相应的改变,从而可以鉴定原始数据是否被篡改。易损水印应对一般图象处理(如:滤波、加噪声、替换、压缩等)有较强的免疫能力(鲁棒性) ,同时又要求有较强的敏感性,即:既允许一定程度的失真,又要能将失真情况探测出来。必须对信号的改动很敏感,人们根据易损水印的状态就可以判断数据是否被篡改过。 按水印所附载的媒体划分 按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。随着数字技术的发展,会有更多种

24、类的数字媒体出现,同时也会产生相应的水印技术。 按检测过程划分 厦门大学软件学院毕业论文10按水印的检测过程可以将数字水印划分为明文水印和盲水印。明文水印在检测过程中需要原始数据,而盲水印的检测只需要密钥,不需要原始数据。一般来说,明文水印的鲁棒性比较强,但其应用受到存储成本的限制。目前学术界研究的数字水印大多数是盲水印。 按内容划分 按数字水印的内容可以将水印划分为有意义水印和无意义水印。有意义水印是指水印本身也是某个数字图像(如商标图像)或数字音频片段的编码;无意义水印则只对应于一个序列号。有意义水印的优势在于,如果由于受到攻击或其他原因致使解码后的水印破损,人们仍然可以通过视觉观察确认是

25、否有水印。但对于无意义水印来说,如果解码后的水印序列有若干码元错误,则只能通过统计决策来确定信号中是否含有水印。 按用途划分 不同的应用需求造就了不同的水印技术。按水印的用途,我们可以将数字水印划分为票证防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印。 票证防伪水印是一类比较特殊的水印,主要用于打印票据和电子票据、各种证件的防伪。一般来说,伪币的制造者不可能对票据图像进行过多的修改,所以,诸如尺度变换等信号编辑操作是不用考虑的。但另一方面,人们必须考虑票据破损、图案模糊等情形,而且考虑到快速检测的要求,用于票证防伪的数字水印算法不能太复杂。 版权标识水印是目前研究最多的一类数字水印。数字作

26、品既是商品又是知识作品,这种双重性决定了版权标识水印主要强调隐蔽性和鲁棒性,而对数据量的要求相对较小。 篡改提示水印是一种脆弱水印,其目的是标识原文件信号的完整性和真实性。 隐蔽标识水印的目的是将保密数据的重要标注隐藏起来,限制非法用户对保密数据的使用。 按水印隐藏的位置划分 按数字水印的隐藏位置,我们可以将其划分为时(空)域数字水印、频域数字水印、时/频域数字水印和时间/尺度域数字水印。 时(空)域数字水印是直接在信号空间上叠加水印信息,而频域数字水印、时/频域数字水印和时间/尺度域数字水印则分别是在 DCT 变换域、时 / 频变换域和小波变换域上隐藏水印。 随着数字水印技术的发展,各种水印

27、算法层出不穷,水印的隐藏位置也不再局限于上述四种。应该说,只要构成一种信号变换,就有可能在其变换空间上隐藏水印。 厦门大学软件学院毕业论文111.1.2 数字水印的基本原理数字水印的原理数字水印是在数字化内容中嵌入不明显的记号,被嵌入的记号通常是不可见的,但是通过一些计算操作可以被检测或者提取。因此一个数字水印系统包括三个要素:原始图像、加入水印后的图像、水印;另外包括两个过程:水印嵌入和水印提取。水印的嵌入和提取原理如下:根据宿主数据 I、原始水印 w 和密钥 K 来设计一个水印信号 W :W= F( I,w , K);设计一个嵌入算法,把水印 W 嵌入到宿主数据 I 中,得到加入水印后的数

28、据;设计一个提取算法,从中提取出水印,或者得到水印 W 存在的可信度 。图 11 表示了水印嵌入和提取的原理。其中,密钥 K 是可选的,在提取过程中,水印 W 或原始数据 I 也是可选的。图 1-1 水印嵌入和提取的原理1.1.3 数字水印的研究现状从公开发表的文献看,国际上在数字水印方面的研究刚开始不久,但由于有大公司的介入和美国军方及财政部的支持,该技术研究的发展速度非常快。1998 年以来, IEEE 图像处理 、 IEEE 会报 、 IEEE 通信选题 、 IEEE 消费电子学等许多国际重要期刊都组织了数字水印的技术专刊或专题新闻报道。 在美国,以麻省理工学院媒体实验室为代表的一批研究

29、机构和企业已经申请了数字水印方面的专利。1998 年,美国政府报告中出现了第一份有关图像数据隐藏的 AD 报告。目前,已支持或开展数字水印研究的机构既有政府部门,也有大学和知名企业,它们包括美国财政部、美国版权工作组、美国空军研究院、美国陆军研究实验室、德国国家信息技术研究中心、日本 NTT 信息与通信系统研究中心、麻省理工学院、伊利诺斯大学、明尼苏达大学、剑桥大学、瑞士洛桑联邦工学院、西班牙 Vigo 大学、IBM 公司 Watson 研究中心、微软公司剑桥研究院、朗讯公司贝尔实验室、CA 公司、Sony 公司、NEC 研究所以及荷兰菲利浦公司等。 1996 年 5 月 30 日6 月 1

30、日,在英国剑桥牛顿研究所召开了第一届国际信息隐藏学术研讨厦门大学软件学院毕业论文12会,至今已举办了三届。SPIE 和 IEEE 的一些重要国际会议也开辟了相关的专题。 我国学术界对数字水印技术的反应也非常快,已经有相当一批有实力的科研机构投入到这一领域的研究中来。为了促进数字水印及其他信息隐藏技术的研究和应用,1999 年 12 月,我国信息安全领域的何德全院士、周仲义院士、蔡吉人院士与有关应用研究单位联合发起召开了我国第一届信息隐藏学术研讨会。2000 年 1 月,由国家“863”智能机专家组和中科院自动化所模式识别国家重点实验室组织召开了数字水印学术研讨会,来自国家自然科学基金委员会、国

31、家信息安全测评认证中心、中国科学院、北京邮电大学、国防科技大学、清华大学、北方工业大学、上海交通大学、天津大学、中国科技大学、北京大学、北京理工大学、中山大学、北京电子技术应用研究所等单位的专家学者和研究人员深入讨论了数字水印的关键技术,报告了各自的研究成果。从这次会议反应的情况上看,我国相关学术领域的研究与世界水平相差不远,而且有自己独特的研究思路。 1.2 图像文件格式介绍1.2.1 Bmp 格式概要图像通常保存的颜色深度有 2(1 位) 、16(4 位) 、256(8 位) 、65536(16 位)和 1670万(24 位)种颜色(其中位是表示每点所用的数据位) 。8 位图像可以是索引彩

32、色图像外,也可以是灰阶图像。表示透明的 alpha 通道也可以保存在一个类似于灰阶图像的独立文件中。带有集成的 alpha 通道的 32 位版本已经随着视窗 XP 出现,它在视窗的登录和主题系统中都有使用,但是还没有多少图像编辑软件支持。1.2.2 存储算法BMP 文件通常是不压缩的,所以它们通常比同一幅图像的压缩图像文件格式要大很多。例如,一个 800600 的 24 位几乎占据 1.4MB 空间。因此它们通常不适合在因特网或者其它低速或者有容量限制的媒介上进行传输。根据颜色深度的不同,图像上的一个像素可以用一个或者多个字节表示,它由 n/8 所确定(n 是位深度,1 字节包含 8 个数据位

33、) 。图片浏览器等基于字节的 ASCII 值计算像素的颜色,然后从调色板中读出相应的值。由于存储算法本身决定的因素,根据几个图像参数的不同计算出的大小与实际的文件大小将会有一些细小的差别。厦门大学软件学院毕业论文131.2.3 Bmp 格式文件的存储形式典型的位图文件格式通常包含下面几个数据块: 位图头:保存位图文件的总体信息。 位图信息:保存位图图像的详细信息。 调色板:保存所用颜色的定义。 位图数据:保存一个又一个像素的实际图像。 尽管文件大小比较大,但是位图文件的简单性、在微软视窗和其它地方的广泛使用以及这种格式的优秀文档标准以及没有专利约束,使得它成为其它操作系统图像处理程序能够读写的

34、一种最为常用的格式。X Window System 使用类似的.XBM 格式表示一位黑白图像以及.XPM(pixelmap)表示彩色图像。另外还有一种.RAW 格式,它除了保存原始数据之外没有任何其它信息。其它还有Portable Pixmap file format (.PPM)和 Truevision TGA(.TGA) ,但是它们用得很少或者只用于特殊目的。尽管其它格式也保存为“位图” (与矢量图不同) ,但是它们使用数据压缩或者颜色索引,所以它们不是严格意义上的位图。由于包含有冗余信息,许多 BMP 文件使用类似于 ZIP 这样的无损数据压缩算法能够取得很好的压缩效果。1.3 开发工具

35、1.3.1 OpenCV1.3.1.1 OpenCV 是什么OpenCV 是 Intel 资助的开源计算机视觉库。它由一系列 C 函数和少量 C+ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个 C/C+函数的跨平台的中、高层 API。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV 对非商业应用和商业应用都是免费(FREE)的。另外 OpenCV 也为 Intel 公司的 Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器(当然是 INTEL 的处理器了)优化的

36、的 IPP 库, OpenCV 将在运行时自动加载这些库。 厦门大学软件学院毕业论文141.3.1.2 OpenCV 能做什么图像数据的操作 ( 分配、释放、复制、设置和转换)。 图像是视频的输入输出 I/O (文件与摄像头的输入、图像和视频文件输出) 。 矩阵和向量的操作以及线性代数的算法程序(矩阵积、解方程、特征值以及奇异值等) 。 各种动态数据结构(列表、队列、集合、树、图等) 。 基本的数字图像处理(滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等) 。 结构分析(连接部件、轮廓处理、距离变换、各自距计算、模板匹配、Hough 变换、多边形逼近、直线拟合、

37、椭圆拟合、Delaunay 三角划分等) 。 摄像头定标(发现与跟踪定标模式、定标、基本矩阵估计、齐次矩阵估计、立体对应) 。. 运动分析(光流、运动分割、跟踪) 。 目标识别(特征法、隐马尔可夫模型:HMM) 。 基本的 GUI (图像与视频显示、键盘和鼠标事件处理、滚动条) 。 图像标注(线、二次曲线、多边形、画文字) OpenCV 模块: cv 主要的 OpenCV 函数。 cvaux 辅助的(实验性的)OpenCV 函数。 cxcore 数据结构与线性代数支持。 highgui 图像界面函数。 1.3.1.3 OpenCV 在本课题中的作用应用 OpenCV 的主要目的在于能够比较方便

38、的读取和写入图像文件,避免进一步了解图像的具体内部编码。厦门大学软件学院毕业论文151.3.2 Microsoft Visual C+ 6.0C+是一种使用非常广泛的电脑程序设计语言。C+是一种静态资料类型检查的,支援多范型的通用程序设计语言。它支援程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计等多种程序设计风格。贝尔实验室的比雅尼斯特劳斯特鲁普博士在 20 世纪 80 年代发明并实现了 C+(最初这种语言被称作“C with Classes”) 。一开始 C+是作为 C 语言的增强版出现的,从给 C 语言增加类别开始,不断的增加新特性。虚拟函数(virtual function)

39、 、运算子重载(operator overloading) 、多重继承(multiple inheritance) 、模板(template) 、异常(exception) 、RTTI、命名空间(name space)逐渐纳入标准。1998 年国际标准组织(ISO)颁布了 C+程序设计语言的国际标准 ISO/IEC 14882-1998。遗憾的是,由于 C+语言过于复杂,以及他经历了长年的演变,直到现在(2004 年)只有少数几个编译器完全符合这个标准。另外,就目前学习 C+而言,可以认为它是一门独立的语言;它并不依赖 C 语言,我们可以完全不学 C 语言,而直接学习 C+。根据C+编程思想

40、(Thinking in C+)一书所评述的,C+与 C 的效率往往相差在正负 5%之间。所以有人认为在大多数场合中,C+完全可以取代 C 语言。C+语言发展大概可以分为三个阶段:第一阶段从 80 年代到 1995 年。这一阶段 C+语言基本上是传统类型上的面向对象语言,并且凭借著接近 C 语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从 1995 年到 2000 年,这一阶段由于标准模板库(STL)和后来的 Boost 等程序库的出现,泛型程序设计在 C+中占据了越来越多的比重性。当然,同时由于 Java、C#等语言的出现和硬件价格的大规模下降,C+受到了一定的冲击;第三阶段

41、从 2000 年至今,由于以 Loki、MPL 等程序库为代表的产生式编程和模板元编程的出现,C+出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使 C+已经成为当今主流程序设计语言中最复杂的一员。 Visual C+ 6.0 提供具有功能强大的向导工具(MFC AppWizard,ClassWizard,MFC ActiveX ControlWizard,ISAPI Extension Wizard,ATL COM AppWizard 和 Custom AppWizard)来简化 Win32 的应用程序的开发。向导用于帮助用户生成各种不同类型应用程序的基本框架。例如,使

42、用 MFC AppWizard来生成完整的从开始文件出发的基于 MFC 类库的源文件和资源文件;使用 MFC ActiveX ControlWizard 生成创建 ActiveX 控件所需要的全部开始文件(如源文件、头文件、资源文件、厦门大学软件学院毕业论文16模块定义文件、项目文件、对象描述语言文件等) ;使用 ISAPI Extension Wizard 生成创建Internet 服务器或过滤器所需要的全部文件;使用 ATL COM AppWizard 来创建 ATL 应用程序;使用 Custom AppWizard 来创建自定义的项目类型,并将其添加到创建项目时的可用项目类型列表中。创建

43、应用程序的基本框架后,可以使用 Class Wizard 来创建新类,定义消息处理函数,覆盖虚拟函数、从对话框、表单视图或者记录视图的控件中获取数据并验证数据的合法性,添加属性、事件、方法到自动化对象中。此外还可以使用 WizardBar 来定义消息处理函数、覆盖虚拟函数并浏览实现文件。厦门大学软件学院毕业论文17第二章 图像文件的数字水印技术介绍在第一章中,我们已经提到关于数字水印嵌入的算法大体可以分为两大类:一类是直接改变图象数据的空域技术;另一类是变换域技术,此技术图象变换域改变数据,再进行反变换得到加水印的图象。2.1 空域技术空域技术的内嵌方法,通常是在图象的亮度或彩色光带、或者这两

44、者之上加一调制信号来内嵌数据。具体说来,也有好几种方式,但是最著名的莫过于 Schyndel 提出的将水印信息叠加或替换载体信号的 LSB 位算法。2.1.1 LSB 位算法基于 LSB 的信息隐藏算法,是出现较早的一种空间域信息隐藏算法它是利用 BMP 图像数据信息的最低有效位(least significant bit)的改变不会引起人眼视觉上的差异这一特点,将秘密信息的二值流文件序列依次替换 BMP 图像每个像素的最后一位,以完成秘密信息的隐藏的过程。提取秘密信息的过程是嵌入的逆过程,只需将每个字节的最低比特位取出,重新排列即可,不需要原载体文件的参与。空域 LSB 方法的一般嵌入过程为

45、:记嵌入的比特序列为M0,M1,Mm1(m 为比特序列长度),从载体图像像素集合C0,C1,Cn1(其中 n 为载体图像像素的个数)中选择一个子集Cl(0),Cl(1),Cl(m-1) (mn),并对所有的 0im1 作替换运算 LSB(Cl(i) ) = Mi,其中 LSB(Cl(i)表示 Cl(i)的最低位比特,从而把部分载体像素的最低位比特用秘密信息位代替。此外,也可以改变载体图像像素中两位甚至多位的不重要比特,或者针对每一个载体图像像素自适应地选取可变个数的最不重要比特来存储消息位。2.1.2 空域技术优缺点空域技术的优点是能够较有效地利用人类视觉系统特性,但它的缺陷是:(1)为了使其

46、对剪切变换具有鲁棒性,空域技术不得不重复地将同样的信息内嵌到图象的不同区域;(2)此技术从本质上来说对图象平多很敏感;(3)空域技术对图象尺寸变换不具有鲁棒性。厦门大学软件学院毕业论文182.2 变换域技术变换域技术在内数据前先对图象进行某种可逆的数学变换,然后用某种规则按水印的指示对变换域的系数进行修改,再进行逆变换得到加水印的图象。常见的嵌入算法有基于离散余弦变换算法(DCT) 、基于小波变换算法(DWT) 、基于付氏变换算法(DFT) 。2.2.1 基于离散余弦变换DCT 变换是一种图像处理中常用的正交变换,其去相关的性能非常接近于 K-L 变换,基于这种变换的 Cox 的算法和 Piv

47、a 的算法在当前用于静态图像的数字水印算法中是较好的。本课题就是采用基于 DCT 变换的一种水印嵌入算法,在对图像进行 DCT 变换后,用能量差的方式嵌入水印信息,进而更有效率地嵌入水印。下一章将会详细介绍相关的内容。2.2.2 基于小波变换小波变换是一种多尺度信号分析方法,近几年受到广泛关注,它克服了付里叶变换固定分辨率的弱点,既可分析信号概貌,又可分析信号的细节。小波变换可以将一个二维信号(图像)逐层分解为逼近信号和水平方向,垂直方向和对角线方向的细节分量。图像经小波变换分解成四个四分之一大小的子图:水平方向、垂直方向和对角线方向的中高频细节子图和低频逼近子图,每个子图通过间隔抽样滤波得到

48、,后续分解后逼近子图以完全相同的方式再分解为更小的子图。在嵌入水印过程中,一幅图像首先被分解为一个金字塔型,这个金字塔有着不同的频带信息。然后,将一个高斯噪声随机序列作为水印信号添加到一些频带(HL2,LH2,HH2)上。令ym,n为 DWT 系数,该高斯噪声随机序列为 xm,n,嵌入水印过程为:(1)令原始图像为 A,对 A 进行二维离散小波变换(两级小波分解,小波基取 haar 小波基),得到不同分辨率级下绵细节子图 cDj+1(h),cDj+1(v),cDj+1(d),(j=0,1)(分别代表 j+1分辨率级下的水平方向、垂直方向和对角线方向的三个细节子图)和一个逼近子图 cA2,所得结

49、果存入矩阵 B;(2)把水印嵌入 B 中的 HL2LH2HH2 频带上,从 HL2LH2HH2 中提取绝对值最大的 N 个数(N 为 x的元素个数),作为水印的嵌入位置。水印嵌入公式为:ycm,n=ym,n+ay2m,nxm,n(mn=N),由此得到矩阵 B。其中,A 为对应的加权因子,用于控制嵌入水印强度。A 取值大,不可见性差;反之,A 取值小,不可见性好,但稳健性差。(3)对 B.进行二维离散小波反变换(重构),得到矩阵 A.,这样,A.就是嵌入了水印的图像。厦门大学软件学院毕业论文19提取水印的过程为:第一,根据 B 取得相应位置的像素值 ym,n;第二,根据 B.取得相应位置的像素值 ycm,n,第三,用公式 xm,n=(ycm,n-ym,n)/(Ay2m,n)提取水印xm,n。因此,利用小波变换的图像多分辨率分解特性,在静态图像上嵌入水印,仿真实验表明:该算法具有易实现、易检测、较稳健的特性。2.2.3 基于付氏变换付氏变换具有很多优于其它变换的特性,它能够计算出幅角和幅值信息,所以可以充分利用人类视觉特性中的相位敏感度高的特性。2.2.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报