1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: 基于 OpenCV的数字水印系统开发 姓 名: 学 院:软件学院 系: 软件工程 系 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 年 月 厦门大学软件学院毕业论文 - 2 - 基于 OpenCV 的数字水印系统 开发 摘要 随着互联网的发展,人们越来越容易获取数字多媒体信息 。 与此同时,数字多媒休信息的版权、保密等问题也变得日益突出。 如何保护数字产品的版权问题成为一个热点话题 。于是 崛起了一种新的 信息安全技术 数字水印。 数字水印作为一种新型实用的信息隐藏技术,近年来己经引起了极大的关注并得到迅速发展。所谓水印技
2、术就是将数字、序列号、文字、图像标志等版权信息嵌入到多媒体数据中,以起到版权保护、秘密通信、数据文件的真伪鉴别和产品标识等作用。 本文 首先介绍了有关数字水印的基本原理、重要属性及其主体框架。然后 , 将数字水印按不同角度划分为不同种类。讨论了各种各样的数字水印算法以及数字水印在不同领域的应用 。 在上述分析的基础 上 , 本文 采用 一种 扩频数字水印技术 。 扩频数字水印技术因为利用了扩频技术,可以通过调节每个 水印比特对应的变换系数的个数和水印信号能量来控制比特差错率,同时扩频水印对某些信号处理具有很强的鲁棒性。 论文最后 以 Microsoft Visual C+ 6.0 为开发平台,
3、使用 C+编程语言 , 制作了一个数字水印的研究实验系统,验证了论文中提出的水印算法。 关键词 数字水印 离散余弦变换 扩频 水印 图像处理 厦门大学软件学院毕业论文 - 3 - Development Of Digital Watermarking System Based On OpenCV Abstract With the sharply development of Internet, it is more and more easy to get some digital multi-media information. However, it also causes some p
4、roblems, such 、 as copyright protection and information encryption, which become more urgency day by day. How to protect the copyright of these digital products becomes a hot topic. Thus, there grows up a new information security technology digital watermarking. Watermarking is a new practical infor
5、mation hiding technique, and has been developed rapidly. Digital watermarking has been proposed as a solution to the problem of copyright protection of multimedia documents in networked environments. It makes it possible to embed a watermark (such as identification data, serials number, text or imag
6、e etc.) to multimedia documents allowing copyright protection, secret communication, document authentication and so on. In this paper, the basic principle, important properties and the main frame of digital watermarking are introduced first. Then, the classification of digital watermarking technique
7、 according to various aspects is are introduced. Furthermore, various digital watermarking algorithms and its applications in different fields are analyzed. Based on current research, Spread Spectrum watermarking scheme is used in this paper. The SS(Spread Spectrum) watermarking scheme is robust for
8、 some methods of signal processing and can control probabity of error by adjusting the length of the chip sequence and the energy of the sequence. The thesis also supplies a system, which uses Microsoft Visual C+ 6.0 as its developing platform and C+ as its programming language, to prove the algorit
9、hm that referred in the thesis. Key words Digital watermark DCT Spread Spectrum watermarking Image processing 厦门大学软件学院毕业论文 - 4 - 目 录 第一章 绪论 .8 1.1 课题背景 .8 1.2 BMP 图像文件格式介绍 .8 1.3 Microsoft Visual C+ 6.0 简介 .9 1.4 OpenCV 介绍 .10 1.5论文组织结构说明 .10 第二章 图像文件的数字水印技术介绍 .12 2.1 什么是数字水印技术 .12 2.2 数字水印技术的特征 .12
10、 2.3数字水印的分类 .12 2.4 典型数字水印算法 .14 2.5 数字水印应用领域 .16 2.6 数字水印的基本模型 .18 2.6.1 水印的嵌入 .18 2.6.2 水印的提取 .19 2.7 数字水印在版权保护中的应用举例 .19 第三章 基于扩频原理的图像数字水印的详细设计 .20 3.1 扩频技术使用的理论基础 .20 3.2 扩频数字水印系统的实现过程 .20 3.2.1 水印的嵌入 .20 3.2.2 水印的提取和检测 .24 3.3 扩频水印系统的特点分析 .26 3.4系统用到的 OpenCV 函数说明 .27 第四章 基于扩频原理的图像数字水 印系统演示 .28
11、4.1 系统运行界面 .27 4.2 信息的嵌入 .29 4.3 水印的提取 .29 厦门大学软件学院毕业论文 - 5 - 第五章 结束语 .30 5.1 回顾 .30 5.2 展望 .30 致谢语 .31 参考文献 .32 厦门大学软件学院毕业论文 - 6 - CONTENTS Chapter 1 INTRODUCTION.8 1.1 Background .8 1.2 Introduction Of The Image Document Based On BMP Format. 8 1.3 Introduction Of The Microsoft Visual C+ 6.0 .9 1.4
12、 Introduction Of The OpenCV.10 1.5 Thesis Hierarchy .10 Chapter 2 INTRODUCTION OF WATERMARKING.12 2.1 What Is Watermarking.12 2.2 Digital Watermarking Technology Features.12 2.3 Digital Watermarking Classification.12 2.4 Typical Digital Watermarking Algorithm.14 2.5 Digital Watermarking Applications
13、.16 2.6 Digital Watermarking Basic Model.18 2.6.1 Watermark Embedding .18 2.6.2 Watermark Extraction.19 2.7 Copyright Protection Case.19 Chapter 3 IMPLEMENTATION OF THE SPREAD SPECTRUM WATERMARK .20 3.1 Theoretical Foundation Of Spread-spectrum Technology.20 3.2Watermarking Process Of The Implementa
14、tion.20 3.2.1 Watermark Embedding.20 3.2.2 Watermark Extraction And Detection.24 3.3 Spread Spectrum Watermarking System Analysis.26 3.4 OpenCV Function Used.27 Chapter 4 WATERMARKING SYSTEM DEMONSTRATION.28 4.1 Operating System Interface .28 厦门大学软件学院毕业论文 - 7 - 4.2 Watermark Embedding.29 4.3 Waterma
15、rk Extraction And Detection.29 Chapter 5 CONCLUDING REMARKS.30 5.1 Retrospect.30 5.2 Prospect.30 ACKNOWLEDGEMENT.31 REFERENCE.32 厦门大学软件学院毕业论文 - 8 - 第一章 绪论 1.1 课题背景 当今社会的发展已经呈现两个明显的特征:数字化和网络化。数字化指的是信息的存储形式,特点是信息存储量大、便于编辑和复制;网络化指 的是信息的传输形式,具有速度快、分布广的优点。过去 10 年,数字媒体信息的使用和分布呈爆炸性的增长。人们通过互联网可以快捷方便地获得数字信息和
16、在线服务。但同时,盗版也变得更加容易 。 在网络上传输数据文件或作品,会使有恶意的个人或团体,有可能在没有得到作品所有者的许可的情况下,拷贝和传播有版权的内容。所以,多媒体技术在给社会带来进步同时,也使得它的知识产权保护成为一个迫切需要解决的问题。 数字信息在本质上有别于模拟信息,传统的保护模拟信息的方案对数字信息已不再奏效。再加上一些具有通用目的的处理器,如 PC 机,使得那 些基于硬件的媒体保护方案很容易被攻破。而通常采用的加密技术事实上只能在信息从发送者到接受者的传输过程中保护媒体的内容。在信息被接收到以后,再利用的过程中所有的数据对使用者都是透明的,不再受到任何保护。在这一形势下,数字
17、水印作为一种潜在的解决方案,得到了众多学者的青睐。 数字水印的基本思想是在原始媒体数据中,如音频、视频、图像等,隐藏具有一定意义的附加信息作为标记,这些信息与原始数据紧密结合,并随之一起被传输。在接收端,通过计算机水印信号被提取出来用于各种目的,可能的应用包括数字签名、数字指纹、广播监视、内 容认证、拷贝控制和秘密通信等。数字水印被视做抵抗多媒体盗版的“最后一道防线” 。因此从水印技术自身来说,它具有广泛的应用前景和巨大的经济价值 , 并且 已经引起国际学术界与企业界的广泛关注。 1.2 BMP 图像文件格式介绍 BMP 是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除
18、了图像深度可选以外,不采用其他任何压缩 。 因此, BMP 文件所占用的空间很大。 BMP 文件的图像深度可选 l bit、 4 bit、 8 bit 及 24 bit。 BMP 文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 由于 BMP 文件格式是 Windows环境中交换与图有关的数据的一种标准,因此在 Windows环境中运行的图形图像软件都支持 BMP 图像格式。 厦门大学软件学院毕业论文 - 9 - 典型的 BMP 图像文件由三部分组成:位图文件头数据结构,它包含 BMP 图像文件的类型、显示内容等信息;位图信息数据结构,它包含有 BMP 图像的宽、高、压缩方法,以及
19、定义颜色等信息。 1.3 Microsoft Visual C+ 6.0 简介 3 Visual C+6.0 是微软公司推出的开发 Win32 应用程序( Windows 95/98/2000/XP/NT)的、面向对象的 可视化集成工具。它的最大优点就是提供了功能强大的 MFC 类库, MFC 是一个很大的 C+类层次结构,其中封装了大量的类及其函数 。 很多 Windows 程序所共有的标准内容可以由 MFC 的类来提供, MFC 类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓 。 这将简化编程工作,大大的减少程序员编写的代码
20、数量,使编程工作变得更加轻松容易 。 1.2.1 Visual C+ 6.0 开发环境 Visual C+6.0 开发环境 Developer Studio 是由运行在 Windows 95 或 Windows NT 下的一套集成工具所组成,包含输入程序源代码的文本编辑器、设计用户界面(如菜单、对话框、图表等)的资源编辑器、跟踪程序源文件和建立项目配置的项目管理器、建立并运行程序的优化编译器和增量连接器以及检查程序错误的集成调试器等。 使用 Developer Studio,不仅可以创建由 Visual C+ 6.0 使用的源文件和其他文件,而且可以创建、查看和编辑与任何 ActiveX 部件
21、有关的文档( ActiveX 文档)。在 Developer Studio中,可以在项目工作区中组织 文件、项目和项目配置。可以使用工作区窗口来查看和访问项目中的各种元素。项目工作区可以含有多个项目,每个项目要么是顶层项目,要么是其他项目的子项目。 1.2.2 Visual C+ 6.0 开发工具 Visual C+ 6.0 提供具有功能强大的向导工具( MFC AppWizard, ClassWizard, MFC ActiveX ControlWizard, ISAPI Extension Wizard, ATL COM AppWizard 和 Custom AppWizard)来简化 W
22、in32 的应用程序的开发。 向 导用于帮助用户生成各种不同类型应用程序的基本框架。例如,使用 MFC AppWizard来生成完整的从开始文件出发的基于 MFC 类库的源文件和资源文件;使用 MFC ActiveX ControlWizard 生成创建 ActiveX 控件所需要的全部开始文件(如源文件、头文件、资源文件、模块定义文件、项目文件、对象描述语言文件等);使用 ISAPI Extension Wizard 生成创建Internet服务器或过滤器所需要的全部文件;使用 ATL COM AppWizard 来创建 ATL应用程序;使用 Custom AppWizard 来创建自定义的
23、项目类型,并将其添加到创建项目时的可用项目类型厦门大学软件学院毕业论文 - 10 - 列表中。 创建应用程序的基本框架后,可以使用 Class Wizard 来创建新类,定义消息处理函数,覆盖虚拟函数、从对话框、表单视图或者记录视图的控件中获取数据并验证数据的合法性,添加属性、事件、方法到自动化对象中。此外还可以使用 WizardBar 来定义消息处理函数、覆盖虚拟函数并浏览实现文件。 1.3opencv 介绍 OpenCV 是英特尔公司于 1999 年在俄罗斯设立的软件开发中心开发的开源计算机视觉库。它由一系列 C 函数和少量 C+ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 O
24、penCV 拥有包括 300 多个 C/C+函数的跨平台的中、高层 API。尽管它也可以使用某些外部库,但它不依赖 于 其它的外部库。 OpenCV 对非商业应用和商业应用都是免费( FREE)的。另外 OpenCV 也为 Intel 公司的 Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器(当然是 INTEL 的处理器了)优化的的 IPP 库, OpenCV 将在运行时自动加载这些库。 OpenCV 是在 IPL 的基础上发展起来的,在 IPL 支持下,可轻松实现物体轮廓跟踪、图像的几何处理、形态学处理、图像特征提取
25、、背景分离、金字塔算法、种子填充算法、光流算法、主动轮廓算法、相机校正、姿势识别等很多操作。 1.4 论文组织结构说明 第一章是绪论 。本章 主要介绍本论文的课题背景,主要研究内容和意义,研发所涉及的知识、概念、工具以及本论文组织结构。课题背景主要阐述本次项目开发的研究方向和目的,以及 对今后这个类型项目开发有何重大意义。 第二章 是数字水印技术的介绍。本章主要从数字水印技术的概念、特征、分类、典型的算法、数字水印技术的应用领域以及数字水印系统在版权保护中的应用举例。 第三章 是数字水印 系统 的 设计与实现 。本章主要阐述了基于扩频原理的数字水印系统的原理、 实现系统的过程 以及系统特点。为了使整个过程更加清晰,本文采用了相应的流程图进行说明。 第四章是数字水印系统 的 演示。本章主要将具体实现的系统通过截图的方式对数字水印系统的功能进行演示说明。 第五 章 为结束语 。本章 主要为开发 过程 回顾和展望 。开发总结是对整个开发过程的技术总结和感悟总结,阐述技术开发中得到的深刻体会,对今后开发同类型的系统的指导意义。