基于DCT域的数字水印算法

合集下载

基于dct域的数字水印算法

基于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域的数字水印算法

26 8
计 算机应 用与软 件
f rY= 1: o i
21 0 2皇
已有的方法 自然容 易得 多, F T是复 数运算 , 样运 算量 势 可 F 这
必剧增 , 而计 算 机 对 复 数运 算 需 要 较 大 的开 销 。
P=( 一1 m+1 x ) ;
2 )鉴于 D T变换 前后 的数据 均为 实数 , C C D T快速 变换直 接作用于实数域 , 而这种方 法使运算 量减少 。通 过 由根求底 从
( 浙江经济职业 技术学 院 浙江 杭州 3 0 1 ) 10 8


提 出一种矢量地 图水 印嵌入不依赖原始地 图的盲提取算 法, 该算 法在离散余 弦 变换域上 转换而成 。离散余 弦变换 的特
性之一是对相互依赖 的数据能够产 生能量聚集效益 , 而矢量地 图 同一条边上点与点具有依赖关系 , 一条边上依 次选取 8个 顶点作 在 Nhomakorabea—
FO = ()
√ Ⅳ

’ ) ,

空域 向 D T域发展 , 中文献 [ ] C 其 2 为实现盲提取 , 由一个 多边 便
形 的相邻 8个顶点为一个 单元数 据 , 分利用其 顶点 坐标数 据 充 变化有联系 的特点做 D T变换 , C 在单元 数据 中定 义一个水 印位 并 内嵌 8个顶点 的 D T系数 中。文献 [ ] C 2 为达到盲提取对原始
dp nigo eo g a ma , ts ovr df m ted ce oie r s r ( C )dma .O e fh hrc r tso D Tial t eedn nt r i l p iicn e e o i r ecs a f h i n t r h s t n tn o m DT o i n n ecaat s c f C be o ot e i i s

基于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域的数字水印算法研究与应用[管理资料]

毕业设计中文摘要毕业设计英文摘要目次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年开始研究音频的版权版护,数字水印是其中的核心关键技术。

基于DCT域的图像数字水印算法

基于DCT域的图像数字水印算法
首先,本文分析了数字水印的研究意义、国内外研究现状、主要应用领域和发展趋势。并从起源、基本原理、基本特征、分类、通用模型、性能评 估指标和经典算法等几方面对数字水印进行了概述。
其次,简要介绍了小波变换的定义、小波变换的性质、二维图像小波分解、及小波理论在数字水印中的应用。 再次,介绍了HVS的基本结构和特征,概述了现有的恰可察觉差异(Just Noticeable Difference,JND)模型,并根据水印嵌入对象不同对其进行了 分类;随后,分析了现有JND模型的特点和存在的问题,定义了新的基于小波域的亮度掩蔽函数和纹理特征函数,确定了它们各自的权重,提出了新的 JND模型。 最后,根据新的JND模型,本文提出了两种基于小波变换的自适应数字图像水印算法。第一种算法是基于小波系数的自适应数字水印算法。该算法用 有意义的二值图像水印来替代随机序列,先将水印通过Amold置乱加密后再全部嵌入到垂直子带系数中。该算法利用了本文提出的新JND模型对水印嵌入 强度做自适应调节以增强水印的鲁棒性和保证水印的不可见性。第二种算法是基于小波系数块的自适应双重水印算法。该算法在利用小波变换将原始载 体图像分解成四个小波频带后,将一个有意义图像水印和一个伪随机序列(本文分别称为识别水印和确认水印)通过不同的方式嵌入到不同的频带中。为 增强算法的安全性和不可见性,先对识别水印进行Amold置乱,再利用本文提出的新JND模型计算每一个小波系数块的JND估计值后,将其嵌入小波系数的 垂直子带系数中。确认水印是通过识别水印与伪随机序列运算后得到的,它被分散地嵌入在小波变换的低频系数中。在水印的提取与检测阶段,本文应 用了统计学假设原理,分别实现了对识别水印的盲提取和确认水印的盲检测。算法中很多参数和种子可以作为密钥,不知道密钥的人无法正确地恢复数 字水印。实验结果表明了该算法具有较好的不可见性、鲁棒性和安全性。

基于DCT域的数字水印算法

基于DCT域的数字水印算法
鲁棒性测试
在受到不同攻击的图像中,水印提取 准确率如下表所示
实验结果展示
01
02
03
| --- | --- | --- | --- |
| JPEG压缩 | 98% | 96% | 94% |
| 噪声添加 | 95% | 92% | 89% |
实验结果展示
| 滤波 | 92% | 88% | 85% |
数字水印提取算法
数字水印提取算法是用于从嵌入水印后的图像中提取出水印信息的过程。
提取算法通常采用与嵌入算法相反的过程,即从DCT系数中提取出水印信 息,并进行解码和验证。
提取算法需要保证能够准确提取出水印信息,同时抵抗各种攻击和噪声的 影响。
03
基于DCT域的数字水印算法实 现
水印信息预处理
01
基于DCT域的数字水印算法
汇报人: 2024-01-01
目录
• 引言 • DCT域数字水印算法原理 • 基于DCT域的数字水印算法实
现 • 实验结果与分析 • 算法优化与改进 • 总结与展望
01
引言
研究背景与意义
数字水印技术的必要性
随着数字媒体的普及,版权保护问题 日益突出。数字水印技术作为一种有 效的版权保护手段,具有重要意义。
DCT域的特点
离散余弦变换(DCT)在图像处理中 广泛应用,特别是在图像压缩标准 JPEG中。基于DCT域的数字水印算法 具有较好的鲁棒性和隐蔽性。
数字水印技术概述
数字水印的基本概念
数字水印是一种将特定信息嵌入数字媒体中的技术,这些 信息通常是不可见的,但可通过特定算法提取。
数字水印的应用领域
数字水印技术在版权保护、内容认证、广播监视等方面有 广泛应用。

基于DCT域和DWT域的视频数字水印算法

基于DCT域和DWT域的视频数字水印算法

基于DCT域和DWT域的视频数字水印算法数字水印技术是一种保护数字媒体作品的方法,其中最常用的是视频数字水印技术。

基于离散余弦变换(DCT)和离散小波变换(DWT)的视频数字水印算法是目前应用较广的两种方法。

下文将分别介绍它们的原理和特点。

一、基于DCT域的视频数字水印算法DCT是一种广泛应用于音频和视频编码的一维变换方法,同时也可用于图像压缩和加密。

在基于DCT的数字水印中,水印信息通常嵌入在视频的低频系数中,因为低频系数对于视频质量的影响较小,使得水印影响恢复的难度也随之增大。

具体实现方式为,在进行DCT变换后,将一部分低频系数修改成水印信息。

这部分低频系数也称作“水印区域”,可以根据水印强度、嵌入率等参数进行调整。

水印的提取便是将水印区域解码并恢复出原始水印。

该方法的优点是隐藏在低频区域的水印不容易被注意到,且强度适中时不会对视频质量产生太大影响。

不足之处是对于经过编辑或压缩后的视频,该水印可能难以恢复或不可用。

二、基于DWT域的视频数字水印算法DWT是一种多维矩阵变换,能够在一定程度上减少信号中冗余信息,并可实现数字水印的嵌入和提取。

相比DCT,DWT 能够更好地处理图像或视频中的边缘和细节。

在基于DWT的数字水印中,水印信息被嵌入到视频的高频系数中,因为高频系数对视频质量的影响较小,同样也增加了水印提取的难度。

具体实现方式为,在进行DWT变换后,将一部分高频系数修改成水印信息,这部分高频系数也称作“水印区域”。

水印区域的位置由DWT的分解层数、水印大小、嵌入率等参数决定。

提取水印时,需要使用同样的分解层数和水印大小等参数。

与基于DCT的水印算法相比,基于DWT的算法更具抗压缩能力,并且能够适应图像或视频的不同尺寸和分辨率,但也存在一定的弱点。

例如,在不同空间域的DWT子带中,水印的韧性也会不同,这需要在具体实现中进行优化和调整。

总之,基于DCT的水印算法更适用于一些对视频质量要求不高的应用场景,例如版权保护等,而基于DWT的算法则更适用于对视频质量和韧性都有较高要求的应用场景。

DCT域水印算法原理

DCT域水印算法原理

DCT域水印算法原理DCT(Discrete Cosine Transform)域水印算法是一种常用的数字图像水印技术,其原理基于频域转换。

1.将图像转换为频域:首先,将原始图像转换为频域表示。

这可以通过应用离散余弦变换(DCT)来实现。

DCT将图像分解为一组基函数,这些函数是一系列正弦波,其频率范围从低频到高频。

这种变换可以提取图像中的频域特征,并将其表示为一组权重。

2.选择水印位置:在DCT域中,选择要嵌入水印的位置。

一般来说,选择低频区域是最常见的选择,因为低频系数对图像的感知质量更不敏感。

3.生成水印:生成用于嵌入的水印。

水印可以是文本、图像或其他形式的信息。

通常会对水印进行预处理,如二值化和调整大小,以便更好地嵌入到图像中。

4.嵌入水印:将水印嵌入到选定的DCT系数位置中。

这可以通过简单地将水印系数添加到原始图像的DCT系数中来实现。

注意,嵌入水印时需要注意使得DCT系数仍然满足统计特性,以保证水印嵌入后图像质量的不变。

5.反变换:将经过水印嵌入的DCT系数进行反变换,将其转换回空域表示。

这可以通过应用逆DCT变换来实现。

反变换后可以得到带有水印的图像。

6.提取水印:对带有水印的图像进行处理,从DCT系数中提取水印。

这可以通过比较原始图像和提取的图像的DCT系数来实现。

使用提取算法,可以检测到水印的存在并提取出嵌入的水印信息。

7.水印检测:根据提取到的水印信息进行水印检测。

这可以通过比较提取的水印和原始水印来实现。

通常会计算提取水印和原始水印之间的相似性度量。

如果相似性超过一些阈值,则可以认为水印检测成功。

DCT域水印算法的特点是嵌入水印后对图像的视觉质量损失较小,而且水印具有一定的鲁棒性,即使经过压缩和修改,水印仍然可以提取出来。

此外,DCT域水印算法还具有较高的安全性,水印信息很难被未经授权的用户窃取或篡改。

总结来说,DCT域水印算法通过将图像转换到频域进行处理,实现了在图像中嵌入和提取水印信息的目的。

基于DCT域的自适应盲数字水印算法研究的开题报告

基于DCT域的自适应盲数字水印算法研究的开题报告

基于DCT域的自适应盲数字水印算法研究的开题报告1. 研究背景数字水印技术是一种用于保护数字内容、防止盗版和保证数据完整性的技术。

数字水印算法可以将一组数字序列嵌入到另一个数字序列中,而不会破坏原始序列的机密性和完整性。

在图像和视频中应用数字水印技术已成为广泛关注的研究方向。

DCT (离散余弦变换) 是一种广泛使用的频域变换技术,特别适合在图像和视频中进行数据压缩和处理。

许多先进的数字水印算法都是基于DCT域或其变体的。

然而,传统的基于DCT域的数字水印算法可能受到噪声攻击和处理攻击的影响,降低算法的鲁棒性和可靠性。

因此,基于DCT域的自适应盲数字水印算法研究具有重要的理论和应用价值。

2. 研究目标和意义本研究的目标是设计一种基于DCT域的自适应盲数字水印算法,该算法具有更高的鲁棒性和可靠性,能够在抵抗各种攻击和噪声的同时提高水印提取的准确性。

本研究旨在利用新的算法技术和方法,提高数字水印应用在图像和视频中的效果,增强数字内容的安全性和保护知识产权。

3. 研究内容和方法本研究的重点将放在以下方面:(1)研究DCT域数字水印的基本原理和特点。

(2)深入探索自适应数字水印的算法设计方法和技术。

(3)研究在传输和存储中常见的攻击和噪声,分析其对数字水印算法的影响,并提出解决方案。

(4)进行实验和分析,比较本研究所提出的自适应盲数字水印算法与传统算法的性能。

本研究将采用实验研究方法,通过编写程序实现算法实现,并在不同数据集上进行测试。

结合所使用的度量标准,研究并比较结果,在结果中得出结论。

4. 预期成果本研究预期的成果包括:(1)设计一种新的基于DCT域的自适应盲数字水印算法,改善传统算法的鲁棒性和可靠性。

(2)对比分析本研究所提出的算法与传统算法的性能。

(3)通过实验验证,证明本研究所提出的自适应盲数字水印算法在抗攻击和噪声方面的有效性和优越性。

(4)为数字水印在图像和视频中的应用提供新的技术方案和思路。

DCT域水印算法原理

DCT域水印算法原理

DCT域水印算法原理DCT(Discrete Cosine Transform)是一种将信号从时域转换到频域的数学变换方法。

DCT 域水印算法利用了这个变换方法的性质,将水印嵌入到图像的DCT系数中,以实现对图像进行水印隐藏和提取的目的。

DCT是一种将图像或信号编码为频谱的变换方法,它将时域上的图像或信号转换为频域上的一组系数。

在DCT域中,图像的低频分量集中在左上角,高频分量在右下角。

因此在DCT域中,图像变得更易处理和压缩。

在嵌入过程中,首先将图像划分为若干个重叠的图像块,并对每个图像块进行DCT变换。

然后选择一些低频系数进行水印嵌入,在DCT系数中加入水印信息。

为了保证嵌入的水印不被轻易检测和移除,通常会采用一些随机化和加密的方法来加强水印的鲁棒性和安全性。

在提取过程中,同样将图像划分为重叠的图像块,并对每个图像块进行DCT变换。

然后根据嵌入时选择的低频系数,提取出水印信息。

为了增加提取的准确性和鲁棒性,通常还会采用一些模板匹配或相关性计算方法来对提取结果进行处理和判断。

1.鲁棒性:由于图像的DCT系数主要集中在低频分量上,而水印嵌入也主要集中在低频系数上,因此对图像进行一些常见的几何和信号处理操作(如缩放、旋转、加噪声等)时,水印嵌入的鲁棒性比较好。

2.安全性:由于DCT域水印算法采用了随机化和加密的方法进行水印嵌入,因此水印信息在嵌入后难以被轻易检测和移除,提高了水印的安全性。

3.容量:DCT域水印算法具有较高的水印容量,可以嵌入较大的水印信息。

然而,DCT域水印算法也存在一些问题:1.适应性差:DCT域水印算法对于一些复杂的图像场景,如纹理过于复杂或有大量细节的图像,可能会导致水印嵌入效果不理想。

2.频谱泄露:由于DCT域水印算法是一种离散的变换方法,嵌入水印后,DCT系数之间可能存在一定的相关性,导致水印信息泄露的风险。

3.嵌入容量限制:尽管DCT域水印算法具有较高的嵌入容量,但由于需要保持图像的视觉质量,嵌入容量仍然有一定的限制。

基于DCT的数字水印算法

基于DCT的数字水印算法

摘要数字水印技术近年来得到了较大的发展,基于变换域的水印技术是目前研究的热点。

数字水印是利用数字作品中普遍存在的冗余数据和随机性,把标识版权的水印信息嵌入到数字作品中,从而可以起到保护数字作品的版权或其完整性的一种技术。

一个有效的数字水印系统至少具备以下三个最基本的特性:1.安全性:数据信息隐藏于数据图像中,不是文件头中,文件格式的变换不应导致水印信息的丢失。

2.隐蔽性:在数字图像作品中嵌入数字水印不会引起图像明显的降质,即含水印的图像与原始图像对人的感觉器官的刺激应该是无差别或差别很小,主观感觉变化很小。

3.鲁棒性:是指在经历有意或无意的信号处理过程后,水印信息仍能保持完整性或仍能被准确鉴别。

另外还有通用性、惟一性等特性。

数字水印的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信等。

本文提出了一种基于dct域的Matlab水印算法,实验结果表明这种算法具有较好的性能,实现的水印具有不可见性,而且具有较好的鲁棒性。

关键词:数字水印;DCT变换;Matlab程序IAbstractDigital watermark technology in recent years have seen great development, based on changing domain watermark technology is being studied. Digital watermark is the use of digital works prevailing in the redundant data and random nature of the logo copyright watermark information embedded in the digital works, so as to protect digital copyright or the integrity of a technology.An effective Digital watermark system at least the following three basic characteristics: 1. Security of data and information hidden in the digital image, not document and the format of the change should not lead to watermark information is missing. 2. hidden in the digital image works that are embedded in Digital watermark there is no image clear of quality, shallow the image of Original image of the People' s receptor of incentives should be no difference or very different, subjective feeling very little has changed. 3. robust, is an experienced intentionally or unintentionally signal processing, watermarks information has been able to maintain integrity or continue to be accurate identification. In addition, only a general nature and characteristics. Digital watermark and applied basic areas of copyright protection, hidden identification, authentication and security cannot see communications.This article presents a based on dct domain Matlab watermark algorithm results table this methodology with a better performance in achieving the watermark is see, and a fairly good robust.Key words: Digital watermarking; DCT transform; Matlab programII目录摘要 (I)Abstract........................................................................................................................................ I I 引言 ............................................................................................................................................ - 1 - 第一章数字水印基本理论及其在通信工程中的应用 .............................................. - 3 -1.1数字水印的历史及国内外发展现状............................................................................ - 3 -1.2数字水印的定义和基本特点 ...................................................................................... - 5 -1.3数字水印的一般模型 .................................................................................................. - 6 -1.4各种数字水印算法 ...................................................................................................... - 7 -1.5数字水印技术的一些局限 .......................................................................................... - 9 - 第二章可实现数字水印技术的高效实用工具——MATLAB...................................... - 17 -2.1 Matlab简介 .............................................................................................................. - 17 -2.2 Matlab的应用 ........................................................................................................ - 17 -2.3 Matlab函数介绍 .................................................................................................... - 18 - 第三章离散余弦变换(DCT)算法介绍....................................................................... - 21 -3.1 离散余弦叶变换的简介 ......................................................................................... - 21 -3.2 离散余弦变换水印嵌入算法.................................................................................. - 23 -3.3 离散余弦变换水印提取算法.................................................................................. - 24 -3.4 离散余弦变换水印算法原理框图.......................................................................... - 24 -3.5分块的离散傅里叶变换 ............................................................................................ - 26 - 第四章离散余弦变换(DCT)算法的MATLAB程序及运行结果比较 .................. - 28 -4.1 MATLAB程序 ............................................................................................................ - 28 -4.2 运行结果比较 ......................................................................................................... - 31 -4.3 实验结果总结分析 ................................................................................................. - 38 - 参考文献.................................................................................................................................. - 39 - 致谢...................................................................................................................................... - 40 -IV引言随着计算机网络通信技术的发展,信息媒体的数字化为信息的存取提供了极大的便利性,同时也显著提高了信息表达的效率和准确性;数据的交换和传输变成了一个相对简单的过程,人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传输到任何地方。

基于DCT变换的数字图像水印研究

基于DCT变换的数字图像水印研究

基于DCT变换的数字图像水印研究
数字图像水印技术是一种将信息嵌入到数字图像中的方法,以实现版权保护、身份认证等目的。

近年来,DCT变换已成为
数字图像水印技术中广泛使用的一种方法。

DCT变换是将一个信号从时域转换到频域的方法,它通过将
信号分解为不同频率的基本信号来实现这一转换。

DCT变换
常常被用于数字信号处理中,特别适合于图像和音频信号处理。

在数字图像水印中,DCT变换通常被用于嵌入和提取水印信息。

嵌入水印信息时,原始图像首先通过DCT变换转换到频域,然后选择一些低频和中频的DCT系数进行改变,嵌入水
印信息。

提取水印信息时,首先需要对被嵌入水印的图像进行DCT变换,得到一组DCT系数。

然后通过比较这些系数和原
始图像中对应的系数,提取出嵌入的水印信息。

DCT变换的优点在于其能够将某些频率的信息集中在少数几
个DCT系数中,从而使得水印信息嵌入到图像中的影响最小化。

此外,DCT变换的实现简单,计算速度快,非常适合于
用于数字图像水印中。

数字图像水印研究中的挑战主要在于如何在水印信息嵌入和提取过程中保持图像的质量。

如果嵌入的水印信息造成原始图像的失真,则会影响到图像的清晰度和视觉效果。

因此,需要在水印信息嵌入和提取的过程中找到一个合适的平衡点,以保证水印信息的可见性和图像的质量。

总的来说,DCT变换是数字图像水印中一种非常有效的工具。

它能够将水印信息嵌入到图像中的同时不影响原始图像的质量,为数字版权保护提供了很大的帮助。

在未来的研究中,我们可以探索更加先进的DCT变换方法,以进一步提高数字图像水
印的安全性和可靠性。

基于DCT变换和SVD变换的数字水印技术

基于DCT变换和SVD变换的数字水印技术

基于DCT变换和SVD变换的数字水印技术数字水印技术是一种利用数字信号的特殊性质进行标识的技术,可以保护数字信息的权益。

本篇文章将介绍基于DCT变换和SVD变换的数字水印技术。

一、DCT变换离散余弦变换(DCT)是信号分析和处理中常用的一种变换方法,它将时间序列信号变换为频率域表示,可用于图像压缩、信息隐藏和数字水印等领域。

在数字水印中,通常将原始图像的DCT系数进行调整,以使图像更加鲁棒,即在保持图像可识别、可读取的情况下,增强水印的鲁棒性。

具体而言,将图像划分成若干个块,对每个块进行DCT变换,并对DCT系数进行调整,最后再通过逆变换得到调整后的图像。

二、SVD变换奇异值分解(SVD)是一种矩阵分解方法,在信号处理中被广泛应用。

将二维图像矩阵进行SVD分解后,可以得到三个矩阵,分别为U、S、V,其中U和V是正交矩阵,而S是一个对角矩阵。

三、数字水印嵌入和提取数字水印嵌入是指将数字水印嵌入到原始图像中的过程,通常分为以下几步:首先,选择嵌入算法(比如DCT变换或SVD变换)对原始图像进行变换,并对变换系数进行调整;其次,将水印信息加密,并将其嵌入到变换系数中;最后,通过逆变换得到嵌入数字水印后的图像。

首先,选择提取算法对带有数字水印的图像进行变换;其次,从变换系数中提取出数字水印信息(如果加密,则需要解密);最后,对提取出的数字水印信息进行检验,判断是否真实可信。

四、数字水印应用数字水印技术在数字版权保护、信息安全、图像鉴别等方面有着广泛的应用,具体包括以下几个方面:1.音视频文件保护:数码音乐、电影、电视剧等媒体传输的版权保护。

2.商业机密保护:于文档、设计图纸等文件中嵌入水印,避免机密被泄露等。

3.证件鉴定:银行卡、护照、学历证书等电子文件中嵌入水印,鉴别证件的真伪。

4.多媒体信息管理:对图片、文本等数字图像进行签名等管理,保证数字图像的版权。

总之,数字水印技术是一种重要的数字版权保护技术,应用广泛,具有实际应用意义。

基于DCT变换和SVD变换的数字水印技术

基于DCT变换和SVD变换的数字水印技术

基于DCT变换和SVD变换的数字水印技术数字水印技术是一种在数字图像、音频或视频中插入不可见信息的技术,以实现版权保护、身份验证和内容完整性验证等目的。

基于DCT(离散余弦变换)和SVD(奇异值分解)的数字水印技术是其中常用的一种。

DCT变换是一种常用的信号分析技术,它将时域信号转换为频域信号。

DCT变换主要用于图像和视频编码中,通过分解图像的频谱,可以得到图像的主要频率成分。

基于DCT变换的数字水印技术将水印信息嵌入到图像的高频部分,由于人眼对高频信号的感知不敏感,所以插入的水印信息对图像质量的影响相对较小。

DCT变换的主要优势是它能够对图像进行分块处理,从而使得数字水印能够抵抗一定程度的攻击,如剪切、旋转和缩放等。

SVD变换是一种矩阵分解技术,它将一个矩阵分解为三个矩阵的乘积。

SVD变换在数字水印技术中常用于提取和检测水印信息。

将待检测的图像进行SVD变换,得到图像的奇异值矩阵。

然后,通过比较图像的奇异值与指定的阈值,可以确定图像是否包含水印信息。

SVD变换的主要优势是它能够对图像进行全局处理,从而提高了水印的鲁棒性和检测性能。

1.图像预处理:将待插入水印的图像进行预处理,包括图像的归一化、平滑和增强等操作,以提高水印的嵌入效果和检测性能。

2.水印嵌入:将水印信息嵌入到图像的高频部分,可以是图像的DCT系数或SVD奇异值。

嵌入过程可以采用加法或乘法操作,具体方式取决于水印信息的类型和嵌入算法。

3.水印提取:从经过水印嵌入的图像中提取水印信息,可以通过逆DCT变换或逆SVD变换实现。

提取过程需要对图像进行适当的滤波和增强操作,以减少噪声和提高水印的可见性。

4.水印检测:通过比较提取到的水印信息与原始水印进行匹配,确定图像是否包含水印信息。

检测过程可以采用相关性或统计方法,具体方式取决于水印的嵌入算法和检测性能要求。

基于DCT变换和SVD变换的数字水印技术具有一定的优势,如对图像进行分块处理和全局处理等,能够提高水印的鲁棒性和检测性能。

一种基于视觉模型的dct域水印算法

一种基于视觉模型的dct域水印算法

一种基于视觉模型的dct域水印算法基于视觉模型的DCT域水印算法是一种在图像的离散余弦变换(DCT)域中嵌入水印信息的技术。

该算法考虑了人眼对图像的感知特性,使得嵌入的水印在一定程度上具有不可见性。

下面将详细介绍这种算法的原理和步骤。

1.离散余弦变换(DCT)及其性质离散余弦变换(DCT)是一种将图像从空域转换到频域的技术。

在DCT域中,图像的高频分量集中在低频分量之前,这种性质使得DCT域可以更好地适应嵌入水印的需求。

2.视觉模型人眼对于图像中的信息响应程度在不同频率范围内是不同的,即人眼对于高频分量的敏感度较低。

基于此,可以利用视觉模型来确定DCT系数的嵌入可行度,从而保证水印的不可见性。

3.水印嵌入步骤(1)将原始图像划分为非重叠的图像块,通常为8×8的块。

(2)对每个图像块进行DCT变换,得到图像块的频域系数。

(3)根据视觉模型,选取嵌入位置。

常见的方法是在DCT系数中选择视觉感知度较低的频率分量进行水印嵌入。

(4)将水印信息嵌入到选定位置的DCT系数中。

嵌入过程可以使用替换、调制或扩频等算法。

(5)对嵌入水印后的频域系数进行逆DCT变换,得到带有水印的图像。

4.水印提取步骤(1)对带有水印的图像进行DCT变换,得到频域系数。

(2)根据相同的视觉模型,选取提取位置。

(3)从选定位置的DCT系数中提取水印信息。

提取过程和嵌入过程相对应,可以采用相关性检测、解调或扩频解码等算法。

(4)提取得到的水印信息经过解码过程,得到最终的水印。

5.算法的特点基于视觉模型的DCT域水印算法具有以下特点:(1)在嵌入水印的过程中,考虑了人眼对于图像的感知特性,使得水印在一定程度上不可见。

(2)DCT域的频率分量可控,可以选择适合嵌入的位置,从而提高水印的鲁棒性。

(3)嵌入和提取算法简单,计算复杂度低。

综上所述,基于视觉模型的DCT域水印算法是一种在DCT域中嵌入水印信息的技术。

该算法利用DCT变换特性和人眼对图像的感知特性,实现了较好的不可见性和鲁棒性。

基于dct变换的水印嵌入算法描述

基于dct变换的水印嵌入算法描述

基于dct变换的水印嵌入算法描述基于DCT变换的水印嵌入算法描述引言:随着数字图像在日常生活中的广泛应用,保护图像的版权和真实性变得越来越重要。

水印技术作为一种常用的图像加密和认证手段,被广泛应用于数字图像的版权保护和真实性验证。

基于DCT(离散余弦变换)的水印嵌入算法是一种常见而有效的水印嵌入方法。

本文将对基于DCT变换的水印嵌入算法进行详细描述和分析。

一、DCT变换介绍:DCT是一种将时域信号转换为频域信号的方法,它可以将图像从空间域转换到频率域。

DCT变换广泛应用于图像和视频压缩领域。

在DCT变换中,将一个N×N的图像块转换为一个N×N的DCT系数矩阵。

二、基于DCT变换的水印嵌入算法步骤:1. 将原始图像分割成若干个重叠的图像块。

2. 对每个图像块进行DCT变换,得到DCT系数矩阵。

3. 选择一个合适的DCT系数作为水印嵌入位置。

4. 将水印信息嵌入到选定的DCT系数中。

5. 对嵌入水印后的DCT系数矩阵进行逆DCT变换,得到水印嵌入后的图像块。

6. 将所有水印嵌入后的图像块拼接起来,得到水印嵌入后的完整图像。

三、水印嵌入位置选择:在基于DCT变换的水印嵌入算法中,选择合适的DCT系数作为水印嵌入位置是非常重要的。

一般来说,我们选择高频区域的DCT系数作为水印嵌入位置,因为这些系数对于图像的感知性较低,水印嵌入对图像的质量影响较小。

四、水印信息的嵌入:在选定的DCT系数中嵌入水印信息是通过改变该系数的值来实现的。

一种常用的方法是将水印信息的二进制位嵌入到DCT系数的最低有效位中。

通过对DCT系数进行微小的调整,可以隐藏水印信息而对图像质量影响较小。

五、水印提取:水印提取是水印嵌入的逆过程。

通过对含有水印的图像进行DCT变换,可以得到嵌入水印后的DCT系数矩阵。

然后,提取水印信息的二进制位,即可获得原始水印信息。

六、优缺点分析:基于DCT变换的水印嵌入算法具有以下优点:1. 嵌入容量大:DCT系数矩阵的大小决定了嵌入容量的大小,可以灵活调整。

基于dct域自适应中频嵌入的数字水印算法

基于dct域自适应中频嵌入的数字水印算法

百度文库- 让每个人平等地提升自我基于DCT域自适应中频嵌入的数字水印算法摘要本文提出了一种基于DCT变换域的自适应中频系数嵌入数字水印信息的算法。

该算法根据变换后各DCT子块的能量大小,自适应地选择中频系数,进行水印嵌入,与传统的DCT域固定点嵌入算法相比,能更好地实现图像水印信息的隐藏与鲁棒性的平衡。

实验结果表明,特别在JPEG压缩攻击的情况下,本文所提出的算法在信噪比和相似度方面较传统固定点嵌入算法均有所提高。

关键词DCT,中频,数字水印,鲁棒性An Adaptively Middle Frequency Embedded Digital WatermarkAlgorithm Based on the DCT domainAbstract This paper presents an algorithm of digital watermark embedding in the middle frequency adaptively based on the DCT domain. According to the energy of the block size after transforming, the algorithm can select the middle frequency coefficient adaptively to do embedding operation. Compared with traditional DCT domain fixed-point algorithm, it reachs a better balance of robust and watermark information hiding. The results show that, particularly in the JPEG compression attacks, the algorithm which this paper presents can improve the signal-to-noise and the similarity than the traditional fixed-point algorithm.Key words DCT, middle frequency, digital watermark, robust1 引言在信息技术飞速发展的今天,数据的形式已经不仅仅局限于文本,许多信息是图形图像和视频格式,需要加密、认证及版权保护的数据也越来越多。

基于DCT变换的信息隐藏(数字水印)嵌入算法的设计

基于DCT变换的信息隐藏(数字水印)嵌入算法的设计

%------------------------------------------------------------------%% 基于DCT变换的信息隐藏(数字水印)嵌入算法的设计% %%-----------------------------------------------------------=------%clear all;close all;clc%-----------------读入"W",并进行WPP处理---------------------wm0=imread('watermark.bmp');% wm0=imresize(wm0,[64 64]);[Mm,Nm]=size(wm0) ; %计算水印图象的高度和宽度n=Mm*Nm;subplot(131)imshow(wm0);title('my watermark');wm=double(wm0);for i=1:Mmfor j=1:Nmif wm(i,j)==0wm(i,j)=-1;endendend%-----------------------读入"C",并进行CPP处理--------------------------% cover_image=imread('cameraman.tif');cover_image=imread('lena.bmp');[Mc,Nc]=size(cover_image); %计算载体图象的高度和宽度subplot(132);imshow(cover_image);title('my coverimage');cover_image=double(cover_image);%读入原始宿主图象,并转换为双精度数组%------------------分块DCT变换,嵌入水印----------------------------%设置水印嵌入强度% k=369;%设置嵌入位置x=3;y=5;%设定图象的分块大小为8*8blocksize=8;c=Mc/blocksize;d=Nc/blocksize;m=c*d;%计算图象划分的图象块%判断载体图像尺寸是否适合水印大小if n>merror('^_^ Dear classmates~~~~~~The watermark is too large to be imbeded into the coverimage,hehe~~~');end%分块DCT变换,嵌入水印for j=1:cfor i=1:ddct_block=dct2(cover_image((1+(j-1)*8):j*8,(1+(i-1)*8):i*8));dct_block(x,y)=k*wm(j,i);watermarked_image((1+(j-1)*8):j*8,(1+(i-1)*8):i*8)=idct2(dct_block);endend%------------------------------------------------------------------%生成并输出嵌入水印后的图象imwrite(uint8(watermarked_image),'watermarked_image.bmp','bmp');%显示嵌入水印后的图象subplot(133);imshow(uint8(watermarked_image))title('watermarkedImage')隐藏信息提取程序,我写的!close all ;clc%定义一个空空间来存储提取的水印wm_image=zeros(32,32);% subplot(122);% imshow(wm_image);%read the marked image and transfer it to double precise%-------------------------------------------------------watermarked_image=imread('watermarked_image.bmp');[M_marked,N_marked]=size(watermarked_image);subplot(121);imshow(watermarked_image);title('The marked image') ;watermarked_image=double(watermarked_image);blocksize=8;k=1/70;x=3;y=5;c=M_marked/blocksize;d=N_marked/blocksize;for j=1:cfor i=1:ddct_markedblock=dct2(watermarked_image((1+(j-1)*8):j*8,(1+(i-1)*8):i*8)); if k*dct_markedblock(x,y)>0wm_image(j,i)=1;elsevm_image(j,i)=0;endendendsubplot(122);imshow(wm_image);title('mark image');imwrite((wm_image),'MYwm_image.bmp','bmp');。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于DCT域的数字水印算法作者:高玉娜杨忠根来源:《电脑知识与技术》2009年第04期摘要:该文系统介绍了数字水印的原理和应用方法,并研究了一种基于离散余弦变换(DCT)的数字图像水印算法,并借助MATLAB编程工具,实现数字水印的嵌入、提取和攻击测试。

关键词:数字图像;数字水印;DCT;MATLAB中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)04-0868-03A Digital Watermarking Algorithm Based on DCT DomainGAO Yu-na,YANG Zhong-gen(Information Engineering Institute of Shanghai Maritime University,Shanghai 200135,China)Abstract: This paper introduces the principle methods and applications of digital watermarking and give an watermarking algorithm of the digital image which based on discrete cosine transform (DCT). With matlab programming tools, this algorithm has realized the digital watermark embedding, extraction and attack test.Key words: digital image;digital watermarking;DCT;MATLAB1 引言随着Internet的普及,信息的安全保护问题日益突出。

如何有效地防止数据的非法复制和鉴别数字媒体的知识产权,成为亟需解决的问题。

1993年Carormi提出了数字水印的概念,并应用于数字图像,此后,研究人员将数字水印的概念扩展到电视图像和声音等领域。

数字水印技术是指在宿主数字媒体(图像、声音、视频)等中嵌入一定量的数字信息,例如作者的电子签名、日期、公司图标等,用以证明作品的所有权,并可作为起诉非法侵权的证据,从而保护作品原创者的合法利益。

本文介绍了一种基于典型的DCT(离散余弦变换)数字水印算法过程,详细介绍了用MATLB来实现数字水印的嵌入、提取和攻击测试的方法。

2 数字水印技术从信号处理的角度看,在载体图像中嵌入数字水印可以视为在强背景(即原始图像)下叠加一个视觉上看不到的弱信号(水印),由于人的视觉系统(Human Visual System,HVS)分辨率受到一定的限制,只要叠加信号的幅度低于HVS的对比度门限,HVS就无法感觉到信号的存在。

因此,通过对载体对象作一定的调整,就有可能在不引起人感知的情况下嵌入一些信息。

2.1 数字水印的嵌入水印嵌入就是把水印信号W={w(k)}嵌入到原始图像X0(k)={x0(k)}中。

水印嵌入过程如图1所示。

水印嵌入准则分为:加法准则:x(K)=x0(K)+a*w(k)乘法准则:x(K)=x0(K)*{1+ a*w(k)}a为强度因子,为了保证在水印不可见的前提下,尽可能提高嵌入水印的强度。

a的选择必须考虑图像的性质和视觉系统的特性。

2.2 水印的提取在某些水印系统中,水印可以被精确地提取出来,这一过程被称作水印提取。

例如在完整性确认的应用中,必须能够精确地提取出嵌入的水印,并且通过水印的完整性来确认多媒体数据的完整性。

如果提取出的水印发生了部分的变化,最好还能够通过变化的水印的位置来确定原始数据被篡改的位置。

水印在提取时可以需要原始图像的参与,也可以不需要原始图像的参与。

图2是水印提取的框图.虚线部分表示在提取或判断水印信号时原始图像不是必需的。

2.3 水印检测水印在检测时可以需要原始图像的参与,也可以不需要原始图像的参与。

但将水印技术用于图像的网络发布和传播时,如果检测时需要使用原始图像则是个缺陷,因此,当前大多数的水印检测算法不需要原始图像的参与。

图3分别是水印检测的框图.虚线部分表示在提取或判断水印信号时原始图像不是必需的。

3 DCT域数字图像水印算法实现目前可以将数字水印算法可以分成两类:空域水印算法和频域水印算法。

空域水印算法是指将水印信号直接嵌入在原始数据中。

频域水印算法首先将原始的数据进行DCT或小波变换,在频域上嵌入水印信息,然后经反变换输出。

在检测水印时,也要首先对信号作相应的数学变换,然后通过相关运算检测水印。

选择二值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将原始图像进行8*8的分块,将数字水印的灰度值直接植入到原始灰度图像的DCT变换域中,实现水印的嵌入具体方法如下:3.1 水印嵌入设X是M*N大小的原始图像,W是水印图像,大小为P*Q,M和N分别是P和Q的偶数倍。

把水印w加载到图像X中,算法分以下几步进行:将X分解为(M/8)*(N/8)个8*8大小的方块BX(m,n),同时,将W也分解为(M/8)*(N/8)个(8·P/M)*(8·Q/N)大小的方块BW(m,n),1=对每一个BX(m,n)进行DCT变换:DBX’(m,n)=DCT(BX(m,n));对每一个DBX‘(m,n)和BW(m,n),si为从DBX‘(m,n)的中频选出的加载的位置,l=DBX’’(m,n)(si)=a*Bw(m,n)(ti),其中a是加权系数,用DBX”(m,n)(si)来代替DBX’(m,n)(si)得到加载水印后的图像;对以上得到的每一个DBCI’(m,n)进行逆DCT变换:IDBX(m,n)=IDCT(DBX’’(m,n))。

并将各方块IDBX(m,n)合并为一个整图X’.即加载了水印的新图像。

3.2 水印提取设图像X’为已经加载了水印的载体图像。

现要将所加载的水印从X’中提取出来。

其过程为上述加载水印算法的逆运算:将X’分为(M/8)*(N/8)个8*8大小的方块BX’(m,n),1=下面给出具体的实现过程:读取原始图像和黑白水印图像到二维数组I与J;将原像I分割为互不覆盖的图像块blockL(x,y),1=%嵌入水印的程序代码M=960;%原始图像长度N=120;%水印图像长度K=8;I=zeros(M,M);J=zeros(N,N);BLOCK=zeros(K,K);%显示原图像subplot(3,2,1);I=imread('C:\Documents and Settings\Administrator\tupian\3.jpg');I=rgb2gray(I);I=imresize(I,[960,960],'bicubic');%原始图像缩放imshow(I);title('原始公开图像');%显示水印图像subplot(3,2,2);J=imread('C:\Documents and Settings\Administrator\tupian\sucai\sy3.gif'); J=im2bw(J,0.4);J=imresize(J,[120,120],'bicubic');imshow(J);title('水印图像');%水印嵌入for p=1:Nfor q=1:Nx=(p-1)*K+1;y=(q-1)*K+1;BLOCK=I(x:x+K-1,y:y+K-1); BLOCK=dct2(BLOCK);if J(p,q)==0a=-1;elsea=1;endBLOCK=BLOCK*(1+a*0.03);BLOCK=idct2(BLOCK);I(x:x+K-1,y:y+K-1)=BLOCK;endend%显示嵌入水印后的图像subplot(3,2,3);imshow(I);title('嵌入水印后的图像');imwrite(I,'watermarked.jpg','jpg');%从嵌入水印的图像中提取水印I=imread('C:\Documents and Settings\Administrator\tupian\3.jpg'); I=rgb2gray(I);I=imresize(I,[960,960],'bicubic');J=imread('watermarked.jpg','jpg');for p=1:Nfor q=1:Nx=(p-1)*K+1;y=(q-1)*K+1;BLOCK1=I(x:x+K-1,y:y+K-1);BLOCK2=J(x:x+K-1,y:y+K-1);BLOCK1=idct2(BLOCK1);BLOCK2=idct2(BLOCK2);if BLOCK1(1,1)~=0a=(BLOCK2(1,1)/BLOCK1(1,1))-1;if aW(p,q)=0;elseW(p,q)=1;endendendend%显示提取的水印subplot(3,2,4);imshow(W);title('从含水印的图像中提取的水印');■图4 原始图像与水印图像图5 嵌入水印后的图像与提取的结果4 水印攻击测试由于数字水印在实际应用中可能会遭到各种各样的攻击,因此对算法进行攻击测试是衡量一个水印算法优劣的重要手段。

下面给出水印攻击与水印提取的具体实现过程,首先对嵌入水印后的图像进行JPEG压缩(一种水印攻击),而后从压缩的图像中提取出水印。

如图6所示,从图中可以看到DCT域的水印算法抵抗JPEG压缩攻击的效果是比较好的。

%水印攻击测试程序M=960; N=120; K=8;I=zeros(M,M); J=zeros(M,M); W=zeros(N,N);%对嵌入水印后的图像进行JPEG压缩BLOCK1=zeros(K,K);BLOCK2=zeros(K,K);L=imread('watermarked.jpg','jpg');imwrite(L,'attack.jpg','jpeg','Quality',45);J=imread('attack.jpg','jpeg');figure,subplot(1,2,1);imshow(J);title('压缩后的图像');%提取水印I=imread('C:\Documents and Settings\Administrator\×à??\tupian\3.jpg'); I=rgb2gray(I);I=imresize(I,[960,960],'bicubic');for p=1:Nfor q=1:Nx=(p-1)*K+1;y=(q-1)*K+1;BLOCK1=I(x:x+K-1,y:y+K-1);BLOCK2=J(x:x+K-1,y:y+K-1);BLOCK1=idct2(BLOCK1);BLOCK2=idct2(BLOCK2);if BLOCK1(1,1)~=0a=(BLOCK2(1,1)/BLOCK1(1,1))-1;if aW(p,q)=0;elseW(p,q)=1;endendendend%显示提取的水印subplot(1,2,2);imshow(W);title('从经过压缩的图像中提取的水印');5 结束语从图4,5中可明显看出:嵌入水印信息后,原图与嵌入水印信息后的图像在视觉效果上没有明显分别,用肉眼几乎分辨不出,这说明这种算法充分利用了人眼的视觉HVS特性,利用DCT域嵌入水印后,水印的不可见性相当好,图像在嵌入水印前后视觉效果改变不大,不影响图像的正常使用。

相关文档
最新文档