基于OpenCV的视频水印系统实现-毕业论文_第1页
基于OpenCV的视频水印系统实现-毕业论文_第2页
基于OpenCV的视频水印系统实现-毕业论文_第3页
基于OpenCV的视频水印系统实现-毕业论文_第4页
基于OpenCV的视频水印系统实现-毕业论文_第5页
免费预览已结束,剩余38页可下载查看

下载本文档

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

文档简介

厦门大学软件学院毕业论文本科毕业论文(科研训练、毕业设计)题 目:基于OpenCV的视频水印系统实现姓 名:学 院:软件学院系:专 业:软件工程年 级: 学 号:指导教师(校内): 职称: 年 月摘要随着计算机网络信息技术的迅速发展,数字媒体技术(数字图像、数字音频、数字视频等) 因其独特的优越性而被广泛应用于信息处理中,而越来越多的信息,特别是专利信息和隐秘信息通过网络进行传输,对其版权和隐秘性的保护也显得日益重要。数字水印是近年来出现的数字产品版权保护技术, 它可以标识作者等版权保护信息和认证信息。使用水印技术可以鉴别出非法复制和盗用的数字产品, 保护数字产品的合法拷贝和传播, 因此它一出现即成为热点问题。本文以视频数据为例,在熟悉OpenCV的基础上,提出一种基于DCT变换域扩展频谱的稳健性视频水印方案。根据视频序列的特点对视频块序列采用DCT变换(离散余弦变化),并依据运动检测和人眼视觉模型分成块序列自适应的嵌入水印,保证隐藏数据的视觉不可见性和一定的容量。在文中,我将分别对OpenCV视觉库、扩频技术以及水印技术等方面做详细的介绍。关键字:数字水印;扩频技术;视频;OpenCV;DCT;版权保护AbstractWith the rapid development of computer network information technique, the digital media technique (digital picture, digital video, digital audio and so on)is widely applied in the information processing for its unique superiority. And most of information, specially the patent information and the secret information transfers through network, the protection for copyright and secret also appears important day by day. Digital watermark technique has been introduced to protect the copyright of digital products in recent years. With this technique, one can embed the copyright information and authentication information of authors or others .And as the complementarity of cipher technique, it can identify the digital product which has been illegally copied, and it can protect the legal copied product. Because of these merits, the watermark technique has been hot since it appeared. This article take the video data as an example, being familiar with OpenCV, proposes a steady video watermarking plan that spread spectrum based on the DCT transformation territory. According to the Characteristic of video sequence, Uses the DCT transformation (separate cosine change) to video block sequence, and auto-adapted insert the watermark by dividing into the block sequence based on the movement examination and the person eye vision model, guarantee the bad visibility vision of hideaway data and the certain capacity.In this paper, I will make the detail introduction for OpenCV, DCT, the Spread Spectrum, the digital watermarking technology and so on.Key words: the digital watermark technique, the Spread Spectrum technique, the video, OpenCV, DCT, copyright protection.目录第一章 绪论11.1 课题的提出11.2 数字水印研究现状以及路线2第二章 数字水印技术32.1 数字水印技术的产生和发展32.1.1 数字水印技术概述32.1.2 数字水印的产生42.2数字水印技术的特点42.2.1 作为数字水印技术基本上具有下面几个方面的特点:42.3 视频数字水印52.3.1 视频水印的基本特征62.3.2 视频数字水印技术的分类72.3.3 数字视频水印处理技术的研究现状8第三章 系统开发环境113.1 Visual C+ 6.0 介绍113.2 OpenCV 介绍113.2.1 什么是OpenCV113.2.2 OpenCV环境配置11第四章 系统设计及实现174.1 视频水印算法思想174.1.1 水印嵌入区域的选择174.1.2 水印嵌入194.1.3 水印检测/提取204.1.4 用到的OpenCV 函数说明224.2 实验结果与结论23第五章 结论25参考文献26致谢28附录29CONTENTSChapter 1 INTRODUCTION11.1 Topic Proposing11.2 Digital Wartermarking Research Situation and Route2Chapter 2 Digital Marking32.1 The Production and Development of Digital Watermarking32.1.1 What is Digital Watermarking32.1.2 The Development of Digital Watermarking42.2 Digital Watermarking Characteristic42.2.1 Basic Characterstic of Digital Watermarking42.3 Digital Watermarking on Video52.3.1 Basic Characteristic of Video Digital Watermarking62.3.2 Video Digital Watermarking Classifiction72.3.3 Videl Digital Watermarking Research8Chapter 3 System Developing Environment113.1 Introduction of Visual C+ 6.0113.2 Introduction of OpenCV113.2.1 What is OpenCV113.2.2 Environment Disposition of OpenCV11Chapter 4 Design and Realization of Watermarking System174.1 Video Digital Watermarking Algorithm Thought174.1.1 The Region Choice of watermarking inserting174.1.2 watermarking Inserting194.1.3 Watermarking Examination and Withdraws204.1.4 OpenCV Function Used224.2 Experiment Result and Cinclusion23Chapter 5 CONCLUDING REMARKS25REFERENCE26ACKNOWLEDGEMENT28APPENDIX29厦门大学软件学院毕业论文第一章 绪论1.1 课题的提出信息媒体的数字化为信息的存取提供了极大的方便,特别是随着互联网技术的迅猛发展,图象、语音、文本和视频等数字形式产品的传送空间不断扩大,传送时间不断缩小。但是,数字化产品在发布和传送过程中容易被侵权、盗版或随意篡改,因此数字产品的信息安全成为世界各国亟待解决的问题。为解决信息安全和版权保护问题,近年来提出了加密、数字签名等技术。基于私用或公共密钥的加密技术可以用来控制数据访问,它将明文消息变换成旁人无法理解的密文消息。加密后的产品是可以访问的,但只有那些具有正确密钥的人才能解密。数字签名是用“0”、“1”字符串来代替书写签名或印章,起到书写签名或印章同样的法律作用。它通过使用私用密钥,对每个信息进行签名,而公共的检测算法用来检查信息的内容是否符合相应的签名。但这种数字签名在数字图象、视频或音频中的应用并不方便也不实际, 因为在原始数据中需要加入大量的签名。另外,随着电脑软硬件技术的迅速发展以及基于网络的具有并行计算能力的破解技术的日渐成熟,这些传统系统的安全性已经受到质疑。单靠增加密钥长度以增强保密系统的可靠性已不再是唯一可行的办法。因此,需要寻求一种不同于传统技术的更加有效的手段,来保障数字信息的安全传输和保护数字产品的版权。近几年来,国际上提出一种不同于传统保密技术的信息伪装(隐藏)概念数字水印技术。它类似于生物学上的保护色,即生物体通过伪装将自己巧妙地隐藏于环境之中以免受天敌的攻击。数字水印技术(Digital Watermarking)是1994年提出的相当新的一种信息伪装技术。它的基本思想是在数字图象、音频和视频等产品中嵌入秘密的信息以便保护数字产品的版权或证明产品的真实可靠性。数字水印技术一方面弥补了密码技术的缺陷,因为它可以为解密后的数据提供进一步的保护。另一方面,数字水印技术也弥补了数字签名技术的缺陷,因为它可以在原始数据中一次性嵌入大量的秘密信息。因此,数字水印技术成为当前多媒体信息安全研究领域发展最快的热点技术,已经受到国际学术界和企业界的高度关注。1.2 数字水印研究现状以及路线数字水印技术的研究在最近几年得到了人们的充分重视,并得到了长足的发展。但针对视频水印的研究却相对比较少,且大部分应用于视频上的水印仍然是采用图象水印的方法,没有充分考虑到视频的特点。在另一方面。由于一些针对视频水印的特殊攻击形式(如帧重组,帧间组合等等)的出现,为视频水印提出了一些区别于静止图象水印的独特要求。尽管数字水印技术发展极为迅速,但它仍然是一个远未成熟的领域,还有许多问题需要解决。早期的水印处理算法主要在原始图象空间域下实现水印嵌入。这种方法的主要缺点是对JPEG压缩的鲁棒性不好。由于变换域能量分布的特点,变换域的方法更有利于保证水印的不可见性,所以近年来的水印处理算法都集中在变换域上。前人们研究所得的发现:对于空间域数字水印处理技术,由于根据待嵌入信息位直接修改图象的像素值,故这种方法抵抗那些可以修改图象灰度的滤波和压缩等攻击的能力较差;对于变换域水印处理技术,通常将水印信息调制在频率域的系数上,一般说来,调制强度越大,鲁棒性越好,但图象质量及隐蔽性就越差,调制强度越小,鲁棒性越差,水印越容易去除。因此,研究如何提高数字水印的稳健性、鲁棒性以及不可预测性问题成为了研究数字水印技术的重中之重。第二章 数字水印技术2.1 数字水印技术的产生和发展2.1.1 数字水印技术概述数字水印技术是近几年国际上提出的一种全新信息安全领域的技术.“数字水印”的概念最初是由Caronni于1994 年提出来的,并应用于图像,引起了电子出版界、学术界的极大兴趣, 同时被广泛应用于视频、音频等其他数字媒体. 由于它在版权保护、真伪鉴别、秘密通信和隐含标注等领域有着广泛的应用前景, 因此日益成为一个非常重要的研究领域。数字水印技术是通过一定的算法将一些标志性信息直接嵌入多媒体内容中,但不影响原内容的价值和使用, 而且不会被人感知或注意。水印信息可以是作者的序列号、公司标志、有特殊意义的文本、图形、图像标记等. 数字水印的特点具有:隐蔽性、鲁棒性、确定性、安全性, 并能够包含相当的数据容量,以满足多样化需要。一个完整的数字水印系统包括两大部分:水印嵌入部分和水印检测/提取部分,其原理框图如图1所示。水印检测是判断是否存在水印。若水印可以精确地恢复出来,则称之为水印提取。水印检测和提取时可以需要原载体信号的参与,也可以不需要原信号参与。水印信息载体信号水印嵌入算法密钥含 水印信号含 水印信号水印检测算法水印检测算法密钥原载体信号水印信息是否含有水印图1 数字水印原理框图2.1.2 数字水印的产生数字水印是近年来在国际上逐渐得到关注的一个研究热点,其最初的研究目的是为了解决数字产品的版权保护问题。纸币水印是通过使用特殊的工艺和材料,在纸币中加入不易觉察的且很拿被去除的印记,而数字水印是采用与它相仿的概念。在不影响载体信号视听效果的前提下,利用数字嵌入的方法把标记信息(水印)隐藏到数字视频、图象、声音等数字产品中。根据水印嵌入载体的不同,可分为视频水印、图象水印、音频水印等。数字水印可以通过特定的检测方法全部或部分地从已标记产品中恢复出来,从而达到版权认证、版权保护等目的。2.2数字水印技术的特点2.2.1 作为数字水印技术基本上具有下面几个方面的特点:1. 安全性:数字水印的信息应是安全的,难以篡改或伪造,同时,应当有较低的误检测率,当原内容发生变化时,数字水印应当发生变化,从而可以检测原始数据的变更;当然数字水印同样对重复添加有强的抵抗性。2. 隐蔽性:数字水印应是不可知觉的,而且应不影响被保护数据的正常使用;不会降质。3. 鲁棒性:是指在经历多种无意或有意的信号处理过程后,数字水印仍能保持部分完整性并能被准确鉴别。可能的信号处理过程包括信道噪声、滤波、数/模与模/数转换、重采样、剪切、位移、尺度变化以及有损压缩编码等。主要用于版权保护的数字水印易损水印(Fragile Watermarking),主要用于完整性保护,这种水印同样是在内容数据中嵌入不可见的信息。当内容发生改变时,这些水印信息会发生相应的改变,从而可以鉴定原始数据是否被篡改。4. 水印容量:嵌入的水印信息必须足以表示多媒体内容的创建者或所有者的标志信息,或购买者的序列号,这样有利于解决版权纠纷,保护数字产权合法拥有者的利益。尤其是隐蔽通信领域的特殊性,对水印的容量需求很大。2.3 视频数字水印根据不同的标准,数字水印有着不同的分类。若按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。随着数字技术的发展,会有更多种类的数字媒体出现,同时也会产生相应的水印技术。本文所研究的数字水印技术的载体是视频数据,故在此将对视频数字水印做个介绍,使大家对视频数字水印有个客观的认识。视频水印研究是当前水印技术研究方向中的一个热点和难点,热点在于大量消费类数字视频产品的推出,如VCD(Video Compact Disc),DVD(Digital Versatile Disk),使得以数字水印为重要组成部分的数字产品版权保护技术的市场需求更为迫切。虽然数字水印技术近几年得到迅速发展,但方向主要是集中于静止图象的水印技术,这得益于多年来众多学者在视觉空间掩盖效应领域的研究成果;在视频水印研究方面,由于视频序列(Video Sequences)本身具有一些固有的特点,如过多的数据冗余、运动区域与非运动区域分布的不平衡等,而包括时间域掩盖效应等特性在内的更为精确的人眼视觉模型尚未完全建立,这使得视频水印处理技术存在许多迫切需要解决的问题。视频数字水印处理技术相对于图象水印处理技术发展滞后,同时现有的标准视频编码格式又造成了水印技术引入上的局限性;而且,视频水印算法在应用中经常有实时或接近实时的限制.与静止图象水印相比,降低复杂度的要求更为重要,在某些情况下甚至不能如静止图象那样充分使用人类视觉系统(HVS, Human Visual System)模型。此外,视频序列作为一系列静止图象的集合,会遭受一些特定种类的攻击(如帧平均、帧去除、帧插入、帧重组、帧速率转换等),这又为视频水印提出了一些区别于静止图象水印的独特要求。视频水印处理技术潜在的应用领域非常广阔,如数字视频点播系统(Video on Demand)、DVD版权保护和卫星数字视频传输等等,但目前该项技术尚未得到充分的研究,还有很多技术问题没有得到很好的解决,这给数字水印的研究工作带来了机遇,同时这更是一种挑战。视频水印处理技术作为视频数据的一种版权保护方法正在受到越来越多的重视。2.3.1 视频水印的基本特征数字视频水印首先应该具有数字水印的一般特征,如:安全性 在大多数应用中,比如版权保护,要确保嵌入信息的保密性。通常称这种问题及其它相关的问题为“水印安全”。如果保密性是一个要求,那么嵌入和提取水印过程中就要使用密钥。如果不知道水印密钥,哪怕知道水印嵌入和提取算法,也不能够检测、修改或者删除水印,这是密码学中著名的Kerchoff准则。1883年,Auguste Kerckoffs阐述了第一个密码系统的设计准则,它在该准则中建议:我们应该假设对手知道加密数据的方法,数据的安全性必须仅依赖密钥的选择。像商用的密码算法和协议那样,为了使基于数字水印的数字媒体版权保护系统在网络环境下能起到版权保护作用,系统的设计必须遵守Kerckhoff准则。可靠性 水印检测应该是可靠的,虚警概率(False Positive Probability,在未嵌入水印的情况下错误检测到水印的概率)和漏检概率(False Negative Probability,在嵌入水印的情况下错误认为不存在水印的概率)尽可能低。鲁棒性 鲁棒性对水印极为重要。一个数字水印应该能够承受各种不同的攻击,包括各种有意的(如马赛克攻击或统计平均攻击)或无意的(压缩、滤波、模数/数模转换、扫描、各种几何变换等等)攻击。不可感知性 视频中嵌入的水印应该是视觉上不可感知的,不会因为嵌入水印而降低视频的质量,从而破坏或降低视频数据的商业价值。当然,需要嵌入可见水印的情况除外。对于视频水印而言,还有一些特殊的要求,如:实时处理性 水印嵌入和提取应该具有低复杂度。然而不同的应用有不同的要求。如果水印是用于审计追踪,每个接收端都必须提取水印,则水印提取应该容易。如果为不同接收者嵌入身份标识,水印处理在大量的分布视频序列上进行,而水印提取只是在出现版权冲突时才进行。因此,为了考虑所有可能的攻击,水印提取可能比较复杂,而水印嵌入在这种情况下复杂度应该低。随机检测性 可以在视频的任何位置、在短时间内(不超过几秒钟)检测出水印。随机检测性比实时性具有更严格的要求:如果一个水印方案能够进行实时处理,但是只能从视频的开始位置按播放顺序一步步检测出水印,则不具有随机检测性;如果跳转到视频的任何一个位置,也能够在很短时间内检测出水印,则具有随机检测性。与视频编码标准相结合 视频数据由于其数据量极大,在存储、传输过程中通常先要对其进行压缩,现在最常用的视频数据压缩编码标准是MPEG-1, M PEG-2和MPEG-4。如果是在压缩视频码流中嵌入水印,很显然应该与视频的压缩编码标准相结合;如果是在原始视频数据中嵌入水印,由于水印嵌入是利用视频的冗余数据来携带信息,而视频压缩编码的目的是为了去除视频中的冗余数据,如果不考虑视频压缩编码标准而盲目地嵌入水印,则嵌入的水印很可能在编码过程中就完全丢失了。盲提取水印方案 若检测时需要原始宿主信号,则称为非盲提取水印,否则称为盲提取水印(Blind/Oblivious Watermarking)。使用原始的宿主信号,更有利于检测和提取信息。但是,检测时用到的原始宿主信号容易暴露给恶意的攻击者。而且,在某些应用中,并不能获得原始的宿主信号。即使能够获得原始的宿主信号,由于数据量巨大,要使用原始的宿主信号也是不现实的,对于视频数据来说,这一点表现得尤为突出。2.3.2 视频数字水印技术的分类对于数字视频水印技术,可作如下分类:1 按水印技术与数字视频编码系统结合方式的不同分类 包括基于原始视频(Uncompressed Video)的方法和基于压缩视频(Compressed Video)的方法。基于原始视频的水印算法,是对未经编码的视频数据直接进行处理,在原始视频数据中嵌入水印。基于压缩视频的水印算法,则与某种视频压缩标准,如常见的MPEG-1,MPEG-2或MPEG-4相结合,在压缩视频中嵌入水印。2 按嵌入域分类 可分为时空域方法及变换域(频域)方法。时空域替换方法主要是用待嵌入的信息替换载体信息中的冗余部分,一种简单的替换方法就是用待嵌入的消息位替换载体中的一些最低有效位(LSB,Least Significant Bit),只有知道隐藏信息的嵌入位置才能提取信息。变换域方法则是在宿主信号的某个变换域,如DCT域或小波域中嵌入信息,其优点在于:嵌入的信号能量可以分布到空域中的所有象素上;可以更方便地将人类感知系统的某些掩蔽特性结合到水印嵌入过程中;可与视频压缩标准兼容等等。3 按密钥分类 若嵌入和提取采用相同密钥,则称其为对称水印(Symmetric Watermark);否则称为非对称水印(Asymmetric Watermark),也称为公钥水印(Public Key Watermark)。4 按检测时是否需要原始宿主信号分类 包括盲提取水印方案和非盲提取水印方案。正如前面所讨论的,一般来说,视频水印方案在检测时应该不需要原始的宿主信号。但是,极少数方案需要原始的宿主信号。5 按水印特性分类 可分为鲁棒水印和脆弱水印两类。鲁棒水印对各种常见的图象处理方法都具备鲁棒性,主要用于版权保护;易碎水印对任何图象变换或处理都非常敏感,半易碎水印则对某些特定的图象处理方法有鲁棒性而对其他的处理不具备鲁棒性,易碎水印和半易碎水印都属于脆弱水印,主要可用于篡改提示或真伪鉴别。6 按水印的可见性分类 分为可见水印和不可见水印。此外,视频水印技术还可以按用途和内容分类,在此不再叙述。2.3.3 数字视频水印处理技术的研究现状本小节将对数字视频水印处理算法的国内外研究现状进行概括和分析。下面按照水印技术与数字视频编码系统结合方式的不同来对数字视频水印处理技术进行分类,即分别讨论基于原始视频的水印处理算法和基于压缩视频的水印处理算法。图2 视频水印嵌入和提取方案在图2所示的原理框图中,一类嵌入方案是将水印信息直接嵌入到原始视频数据中(前置式嵌入策略),形成含水印的原始视频信息,然后进行MPEG视频编码。虽然这种方案可以充分利用各种静止图象数字水印技术和策略,同时该方案不会影响标准MPEG编解码器的使用,但水印信息的引入通常会导致整体码流信息的增加,而经过MPEG编解码处理以及水印信息的再编码后,可能会造成部分水印信息的丢失,为水印的提取和检测带来诸多不利因素。但是这种嵌入方案的最大优点就是计算复杂度低、易于实现。在这种嵌入策略中,多数算法是从静止图象水印处理技术中推广而来的。如图2中的虚线箭头表示,另一类嵌入方案是在压缩视频中嵌入水印。这种方案既可以在视频编码器中进行(内置式嵌入策略),也可以作为单独的模块,直接在经过编码的视频数据流中进行(后置式嵌入策略)。前者需要修改视频编码过程,在编码器中加入水印嵌入的功能,适用于可以直接介入视频编码过程的情况,例如采用自己的编码器对摄像头捕获的原始视频流进行编码;后者不需要修改视频编码器,但是需要对编码视频数据流进行分析,在压缩码流中找出相应的位置并完成水印的嵌入,这种方法适用于不能直接介入视频编码过程,而只能得到压缩视频文件的情况,例如在第三方制作的编码视频码流中嵌入版权信息。这种方案最大的优点在于不需要完全解码和再编码过程,嵌入策略实现较为容易,但缺点是与MPEG编码过程紧密相连,在应用上具有很大的局限性。从水印的提取方案来看,其策略是依据不同的水印嵌入方法而进行相应的设计.第一类是通过分析压缩码流或部分解码信息进行水印提取,而第二类则是从重构视频序列中完成水印检测和提取。从技术特性上来说,对前面提到的两种嵌入方案还可以作进一步的细分:基于原始视频的方法按嵌入域划分,一些方法直接在原始视频数据中嵌入水印,如Aartung、Kalker和Mobasseri提出的算法,称为时空域水印方法;另一些方法先对原始视频数据进行某种变换,如离散余弦变换(DCT, Discrete Cosine Transform)、离散傅立叶变换(DFT, Discrete Fourier Transform)域、离散小波变换(DWT, Discrete Wavelet Transform)域,然后在变换域中嵌入水印,称为频域水印方法。基于压缩视频的方法按嵌入位置划分,一些方法在DCT系数中嵌入水印,这些方法主要是借鉴了静态图象的DCT域水印处理技术;一些方法在运动向量中嵌入水印;一些方法在MPEG编码的GOP(Group of Pictures)图象类型中嵌入水印;一些方法在MPEG-4脸部运动参数中嵌入水印。而且,随着研究的不断深入,研究者不断提出新的水印嵌入位置。图3是对视频水印算法的一种分类方法。下面根据这种分类方法,对于各类算法所采用的技术和优缺点做一简要分析。视频 水印 算 法基于原始视频的水印 处理算法基于压缩视频的水印 处理算法时空域水印频域水印嵌入DCT系数嵌入运动矢量嵌入脸部运动参数嵌入GOP图象类型图3 视频水印算法的一种分类方法第三章 系统开发环境3.1 Visual C+ 6.0 介绍Visual C+6.0,它是微软公司推出的开发Win32应用程序(Windows 95/98/2000/XP/NT)的、面向对象的可视化集成工具。它的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C+类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。3.2 OpenCV 介绍3.2.1 什么是OpenCVOpenCV是Intel资助的开源计算机视觉库。它由一系列 C 函数和少量 C+ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 300 多个C/C+函数的跨平台的中、高层 API。它不依赖与其它的外部库,尽管也可以使用某些外部库。 OpenCV 对非商业应用和商业应用都是免费(FREE)的。另外OpenCV 也为Intel公司的 Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器(INTEL的处理器了)优化的IPP库,OpenCV 将在运行时自动加载这些库。3.2.2 OpenCV环境配置下载OpenCV安装程序,将OpenCV安装到C:Program FilesOpenCV,在安装过程中,选择将OpenCVbin加入系统变量(AddOpenCVbin to the systerm PATH)。安装过程如图4-1至4-4所示:图4-1图4-2图4-3图4-4配置Windows环境变量检查C:Program FilesOpenCVbin是否已经被加入到环境变量PATH,如果没有,请加入。如图5-1和5-2所示:图5-1图5-2配置Visual C+ 6.0 全局设置菜单Tools-Options-Directories:先设置lib路径,选择Library files,在下方填入路径:C:Program FilesOpenCVlib然后选择include files,在下方填入路径:C:Program FilesOpenCVcxcoreincludeC:Program FilesOpenCVcvincludeC:Program FilesOpenCVcvauxincludeC:Program FilesOpenCVmlincludeC:Program FilesOpenCVotherlibshighguiC:Program FilesOpenCVotherlibscvcaminclude 项目设置每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project-Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules附加上 cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib如果你不需要这么多lib,你可以只添加你需要的lib。第四章 系统设计及实现4.1 视频水印算法思想针对静止图象,各国学者已经提出了许多实用的水印处理算法。与静止图象水印处理技术相比,视频水印处理技术仍然存在很大差异。数字视频信号所特有的一些时空域特性,如帧间运动信息、编码与解码阶段的计算复杂度以及沿时间轴破坏同步关系等因素都必须仔细考虑。在原始视频的离散余弦变换域(DCT变换域)中进行水印的嵌入和提取。将视频帧分块进行频域变换,基本思想采用了扩频通信的原理。首先水印序列中的一位和一个伪随机信号PN都被扩展成和视频信号长度相同,然后将两者进行调制,加入放大系数,形成扩频水印。这样一个对应一位水印信息。然后将作DCT变换,形成8*8的DCT系数块W。然后把W和原始视频码流中的DCT系数相加,产生含有水印的DCT系数,接着对这些系数再次进行量化和编码,从而产生含水印码流。最后完成相对应的水印嵌入,提取/检测等操作。 视频水印系统主要包括以下几部分:1) 水印信息图像构造,完成对应每帧视频图像的水印信息图像;2) 水印信息嵌入调制,利用人眼视觉特性控制水印信息嵌入强度,逐帧将水印信息嵌入到视频图像信息中;3) 水印信息提取与检测,完成从视频信息中分离水印信息并进行信息检测,验证水印信息的真伪。本节提出一种基于块分类的视频水印处理算法。4.1.1 水印嵌入区域的选择由于视频信号比静止图象多出一维空间,通常认为视频序列具有更大的空间来嵌入水印。但是大量的实验表明,嵌入水印很容易引起视频质量的下降,而且还会产生在静止图象水印中不会出现的问题,例如闪烁。因此,视频水印对于不可见性的要求更为严格。将视频序列的每一帧分成8*8的图象块,人眼对于那些包含细节信息并且沿时间轴变化较快的图象块中所产生的失真并不敏感,因此可以在这些图象块中嵌入水印。为了对所有的图象块进行分类,算法中引入了两层检测机制:运动检测和细节分类。同时为了减小计算复杂度,我们利用DCT系数的能量作为分类的依据。DCT直流系数表示图象块的平均亮度,它反映了这一图象块的基本信息,因此可以利用相邻帧间对应DCT直流系数的差值来检测当前帧内图象块的内容有无变化,并将它们划分为慢速运动区域和快速运动区域。另一方面,当图象块中相邻象素点的灰度值发生较大变化时,信号的大部分能量都集中在DCT交流系数上,因此DCT交流系数的能量可以被用来确定图象块中是否包含细节信息(纹理或边缘)。其它一些检测算法(如Soble边缘算子等)也可以采用,但实验结果表明我们所提出检测依据在分类准确性和计算复杂度两方面取得了较好的折衷。嵌入区域的自适应选择过程如图6所示。假设一段视频由k帧组成,每一帧的大小为m*n,令表示原始视频中的第i帧,其中i=0,1,k-1。首先,将当前帧分割成互不重叠的大小为8*8的图象块,,这里表 示第i帧中的第j个图象块,j=0,1, , 。对每一个图象块进行DCT变换,得到DCT系数块。将DCT系数按“之”字形顺序排列,表示直流系数。然后图象块的分类过程分两步进行。第一步,进行帧内细节信息检测,根据DCT交流系数能量的大小对图象块进行分类。这里,DCT交流系数的能量用表示。 (4-1)式(4-1)中进行对数运算是为了缩小取值范围,并保持单调性。对于每一个DCT系数块,如果小于预先给定的阈值,那么相应的图象块被划分为低细节区域;否则,相应的图象块被划分为高细节区域,这一类图象块的集合被表示成。第二步,进行帧间运动检测,将当前帧中的DCT系数块与相邻帧中对应DCT系数块进行比较。简单起见,这里只参考前一帧的图象信息,如图7所示,计算当前帧(第i帧)和前一帧(第i-1帧)图象经过分块DCT变换后相应直流系数的差值,的定义为:=| (4-2)设定阈值,如果小于,当前帧中的图象块Xi,,被划分为慢速运动区域;否则,被 划分为快速运动区域,这一类图象块的集合被表示成。对于每一帧来说,只有那些包含细节信息并且沿时间轴变化较快的图象块,即集合和的交集,被选择出来进行水印嵌入,这里用,来表示这一交集。接下来的视频图象都按照相同的步骤选择水印嵌入区域。这里,视频序列的第一帧被当作静止图象,只选择那些包含细节信息的图象块来嵌入水印。阈值和的选择应充分考虑视频质量和水印鲁棒性两方面因素。图6 嵌入区域的自适应选择过程4.1.2 水印嵌入本节所提出的水印算法基本思想是进行位平面替换。为了克服水印鲁棒性差的缺点,将水印信息多次嵌入到图象的不同区域。这里以一帧图象为例,将水印嵌入到原始视频中的亮度分量。如图7所示,首先对被选中的图象块进行位分解,得到8个位平面(最低位平面被标记为Number 0,最高位平面被标记为Number 7).然后根据位平面替换对于图象质量的影响以及水印的鲁棒性来选择位平面进行水印嵌入。实验结果表明,当水印被放置在第三个位平面或以下时具有很好的不可见性。另一方面,较低的位平面容易受到有损压缩和噪声的攻击,而这些攻击对于较高位平面的影响相对较小。考虑到所选择的区域具有较好的掩蔽特性,将水印嵌入中间的位平面,这样可以保证嵌入水印同时具有很好的不可见性和鲁棒性。为了进一步提高水印系统的安全性,在嵌入过程中引入一个位平而控制器,即利用伪随机序列发生器的输出随机选择位平面进行替换。这里,候选的位平面主要为第二、第三、第四个位平面.这种控制机制简单并且易于实现,但是却可以有效地防止自动去除水印。在这种情况下,攻击者很难从视频信号中去除水印,除非视频质量被严重破坏。图7 水印嵌入过程4.1.3 水印检测/提取水印检测利用原始视频作为参考,可以找到所有符合条件的水印嵌入区域。通过比较,在含水印视频中找到对应的嵌入位置。 这里以一帧含水印图象为例来说明水印检测过程。首先将每一个图象块,按位平面进行分解 (4-3)分别计算和第二、第三、第四个位平面的相关值, (4-4)这里的符号“”表示二维相关运算。在没有受到任何攻击的情况下,相关器的最大响应应该为64。然后将相关运算后的结果与预先设定的阈值进行比较,的选择要同时考虑水印检测的虚警概率和漏检概率。检测结果由式(4-5)确定 (4-5)如果检测器的响应大于阈值,则认为当前块中检测到水印,并将相应的位平面保存在集合,中,用于下一步根据“多数原则”来恢复水印信息。否则,认为视频数据中没有嵌入水印或者水印信息遭到了破坏。一般而言,有原始视频参与的水印检测算法具有较强的稳健性,因为它可以有效地去除各种噪声信号干扰,并可以抵抗多种形式的攻击,如裁剪、比例缩放、帧去除、帧重组等等,从而使得检测结果更加可靠和准确。但从实用角度考虑,原始视频数据的传输和保存等环节都为水印处理系统的安全性增加了许多不利因素。对于许多实时应用的场合,如数字电视传输和视频点播系统等等,存贮海量数据代价昂贵并且也是不现实的。值得注意的是,这里并不需要知道有关时间轴的一些信息,也就是说无需知道视频序列的起始位置和顺序,可以实现随机检测。水印提取当水印嵌入位置确定后,可以直接进行水印提取。考虑到嵌入水印的冗余性以及嵌入位置的多样性,水印提取算法采用加权综合的方法,并利用“多数”原则来恢复水印信息。水印提取过程可以用式(4-6)表示 (4-6)其中表示每一个位平面的权值,它的定义式为, (4-7)同样,也可以从一段视频中(以任意位置为起始点)提取水印 (4-8)将加权综合后的结果转换为二值信息,并利用嵌入过程中所使用的密钥k进行伪随机置乱逆操作,从而由或恢复出水印信息。视频测试码流开 始伪随机序列水印提取反置乱得到恢复的水印结 束图8 水印提取检测4.1.4 用到的OpenCV 函数说明函数名参数说明CvCapture* capture = 0;IplImage *image = 0;capture = cvCaptureFromFile(filename)filename要被读入的文件的文件名。cvSetCaptureProperty(capture,CV_CAP_PROP_POS_ FRAMES,22) IplImage* frame = 0frame = cvQueryFrame( capture ) image = cvCreateImage( cvGetSize(frame), 8, 3 )获取设置帧图象Void cvDCT( const CvArr* src, CvArr* dst, int flags )src 输入1D 或 2D 实数组。dst 输出数组,和输入数组有相同的类型和大小。 flags 变换标志符, 下面值组合: CV_DXT_FORWARD:馀弦变换。 CV_DXT_INVERSE:反馀弦变换。cvReleaseCapture( &capture )cvDestroyWindow(showwindow)销毁图像销毁窗口4.2 实验结果与结论本文的实验采用Table Tennis 标准测试序列作为原始视频序列,视频图象的大小为352240;水印为一个二值图象,大小为4444,如图9-1所示。嵌入后直接提取的水印图象如图9-2所示。原始视频帧、嵌入水印后的视频帧和经MPEG压缩后的视频帧分别如图9-3到9-5所示。上述实验表明,本文提出的视频水印方案有很强的鲁棒性;此外,对原始水印图象采用了置乱技术,进一步提高了水印的安全性。 图9-1 原始水印图象 图9-2 嵌入后提取的水印图9-3 原始视频帧图9-4 嵌入水印后的视频帧图9-5 经MEPG压缩后的视频帧第五章 结论多媒体数字水印技术从正式提出到现在短短十年已经得到了迅速发展:在技术研究方面,己从早期简单的信息隐藏算法发展到今天涉及多种先进信号处理技术和人类感知生理/心理模型等多方面内容的综合性技术体系,成为融合多个学科内容的前沿课题;在实际应用方面,也正是多媒体数字水印技术自身所具有的研究价值和潜在的市场需求吸引众多不同领域的学者、研究机构投身于该研究领域之中。与静止图象水印处理技术相比,数字视频水印处理技术的发展严重滞后,仍然存在许多亟待解决的问题。本论文主要是针对数字视频水印提出了一种自适应水印算法,通过阅读前人文献及研究,在Visual C+ 和OpenCV环境下实现一个可以演示的数字视频水印演示系统。通过本课题的研究所取得的主要成果:综述了数字水印技术的概念和典型算法,并特别说明了数字视频水印技术的特征,分类等;分析了数字视频水印处理系统中的关键技术,主要包括水印生成、水印嵌入、水印提取等方面的内容;此外,还了解了数字视频水印的现状以及一些视频水印方面的算法。在前人的基础上,介绍了一种基于块分类的视频水印算法。通过本课题的研究

温馨提示

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

评论

0/150

提交评论