图像数字水印matlab程序
!-
第三章 图像数字水印的方案
3.1 图像数字水印的技术方案
在数据库中存储在国际互联网上传输的水印图像一般会被压缩,有时达到很高的压缩比。因此,数字水印算法所面临的第一个考验就是压缩。JPEG和EZW(Embedded
Zero-Tree Wavelet)压缩是最常见的两种压缩方法。JPEG是基于离散余弦变换域的压缩方法,而EZW是基于小波变换域的压缩方法。前人的研究证明采用与压缩算法相同的变换域水印方法,对于压缩的稳健性较强。因此,我研究图像文件水印算法主要集中在变换域算法及利用人眼视觉特性上。
数字水印的嵌入要求即要考虑视觉透明性,又要保证嵌入水印后图像的稳健性,这两个方面存在着矛盾。保证视觉透明性,就要将水印嵌入到人眼不敏感区,也就是嵌入到图像的高频分量中。而多数图像处理方法对于图像高频部分的损坏程度较高,如有损压缩、高频滤波等。水印很容易在经历图像处理的过程中丢失。这样,则无法保证图像数字水印的稳健性。如果要获得很好的稳健性,数字水印应加在人眼敏感的低频部分,图像的大部分能量集中在低频部分,如果对于低频部分进行处理,水印固然会失去,而图像也没有了利用价值,然而,水印的嵌入会对图像的质量有非常大的影响,这又无法保证视觉透明性。
数字水印算法的实现基本分为三个部分:宿主图像的变换,水印的嵌入和水印的检测,分别描述如下。
3.2 基于DCT域的图像数字水印技术
离散余弦变换(Discrete Cosine Transform)属于正交变换图像编码方法中的一种。正交变换图像编码始于1968年。当时安德鲁斯(Andrews)等人发现大多数自然图像的高频分量相对幅度较低,可完全舍弃或者只用少数码字编码,提出不对图像本身编码,只对其二维傅立叶(DFT)系数进行编码和传输。但DFT是一种正交变换,运算量很大,常常使实时处理发生困难,第二年他们就用Walsh-Hadamard变换(WHT)取代DFT可以使运算量明显减少,这是因为WHT变换只有加减法而无需乘法。但是更有意义的是离散余弦变换和离散正旋变换的出现,它们具有快速算法,精确度高。其中最重要的是1974年提出的DCT,因为其变换矩阵的基向量很近似于托伯利兹矩阵的特征向量,而托伯利兹矩阵又体现了人类语言及图像信号的相关性。因此,DCT常常被认为是语音与图像信号变换的准最佳变换。
图像是二维的,所以在研究时主要用到二维DCT,以及二维IDCT来对图像进行处理。 !-
3.2.1 离散余弦变换(DCT)的定义
数字图像X(m,n)是具有M行N列的一个矩阵。为了同时减弱或去除图像数据相关性,可以运用二维DCT,将图像从空间域转换到DCT变换域。
根据定义,二维离散余弦变换(DCT)定义如下:
NlnMkmnmXlckcMNlkYMmNn2)12(cos2)12(cos),()()(2),(1010
式中:m,k=0,1,…,M-1; n, l=0,1,…,N-1。
1,,2,11021)(Mkkkc其中函数1,,2,11021)(Nkklc
二维逆离散余弦变换(IDCT)的定义如下:
10102)12(cos2)12(cos),()()(2),(MKNLNlnMkmlkYlckcMNnmX
式中:m,k=0,1,…,M-1; n,l=0,1,…N-1。
3.2.2 离散余弦变换的特点
在基于DCT的变换编码中,图像是先经分块(8×8或16×16)后再经DCT,这种变换是局部的,只反映了图像某一部分的信息。当然也可以对整幅图像的特点,但是运算速度比分块DCT要慢。图像经DCT后,得到的DCT图像有三个特点:
一是系数值全部集中到0值附近(从直方图统计的意义上),动态范围很小,这说明用较小的量化比特数即可表示DCT系数;
二是DCT变换后图像能量集中在图像的低频部分,即DCT图像中不为零的系数大部分集中在一起(左上角),因此编码效率很高。
三是没有保留原图像块的精细结构,从中反映不了原图像块的边缘、轮廓等信息,这一特点是由DCT缺乏时局域性造成的。
如下左图3—1是原始图像经过DCT变换后的系数图像为图3—2。两条线划分出图像的低频、中频和高频分别所在的矩形区域。可以看出,图像DCT变换后大部分参数接近于零,只有左上角的低频部分有较大的数值,中频部分参数值相对较小,而大部分高频参数值非常小,接近于零。
MMMMMMMMMMMMMMMMMMMMMMMMM!-
图 3—1:原图像 图 3—2:变换后的系数图像
3.2.3 离散余弦变换的数字水印算法
根据离散余弦变换后的参数性质,本文采用了以ZigZag方式重排变换域系数的方法,选出中频分量,用数字水印序列对其进行非线性调制。水印检测时,待检测图像仍按比方式选择变换域系数,与待水印进行相关运算,与阈值比较来判断是否所含水印。
离散余弦域的数字水印算法的具体实现分为三步:宿主图像的变换,数字水印的嵌入,数字水印的检测。
3.2.3.1 宿主图像的DCT变换
对于N×N大小的256灰度级的宿主图像I进行N×N二维离散余弦变换(DCT)。以ZigZag方式对于DCT变换后的图像频率系数重新排列成一维向量Y={y1, y2,…yN×N}.
并取出序列中第L+1到L+M的中频系数部分,得到YL={ YL+1, YL+2,…, YL+M}
3.2.3.2 数字水印的嵌入
假设数字水印W为一服从标准正态分布的随机实数序列,用数字序列表示为W={W1 ,W2 ,…WM }。用W对Y序列中第L+1到L+M的中频系数部分的值进行修改,按以下公式进行:
经过修改的系数序列Y′ ={ Y1′, Y2′,... Y′N×N} 以ZigZag逆变换形式重组,再进行N×N DCT逆变换,得到嵌有数字水印的图像I′。
3.2.3.3 数字水印的检测
待检测的可能含有水印的图像I" 。假设I"未损失大量信息,可以近似认为I"= I′。在此假设下可以运用统计的方法来检测水印。
(1)待检水印域待检图像中频系数相关性的测定
同样对I′进行DCT变换,以ZigZag方式将DCT系数排成一维向量Y "= { Y1 ", Y2
",... YN×N"}。由于假设I"=I′,则Y"= Y ′。
取出Y"(等于Y′)中第L+1到L+M的中频系数部分YL "={ YL+1 ", YL+2"’,... YL+M"}。假设待检测的数字水印X={X1,X2,... XM}为一符合标准正态分布的实数伪随机序列。则可以通过待检水印与图像中频系数作相关运算来判断是否所加入了水印。只有在待检水印为所加入的水印时,才能得到较大的相关值。否则相关值很小,接近于零。
))()((1)(1),'cov(21XiWYXYMXYMXYZiiLiiLMiiiLL
用符号E表示数学期望,得到: ''2,0iiiiiiyyiLiLmyyywLiLM或!-
(2)阈值的确定
根据中心极限定理,参照水印匹配与不匹配两种情况得到阈值为2/)(2LzYET。由于原始图像难以得到,因此从实用性出发,阈值定义为:
MiiLLZYMYET122/)(
综上所述,满足5.022ZZTTZ或时,则表明检测到匹配水印。否则,未检测到匹配的水印。
3.3 MATLAB工具简介
3.3.1. 简介
Matlab是当前在国内外十分流行的工程设计和系统仿真软件包。它是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一人方便的、界面友好的用户环境。
Matlab的推出得到了各个领域专家、学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。由各个专家学者相继推出了MATLAB工具箱,其中的信号处理(signal
processing)、控制系统(control system)、神经网络(neural network)、图像处理(image
processing)、鲁棒控制(robust control)、非线性系统控制设计(nonlinear system control
design)、系统辨识(system identification)、最优化(optimization)、模糊逻辑(fuzzy logic)、小波(wavelet)、通信(communication)、统计(statistics)等工具箱,这些工具箱给各个领域的研究和工程应用提供了有力的工具,借助于这些“巨人肩上的工具”,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间。
3.3.2. MATLAB研究数字水印的优点
① 集成了DCT、DWT等函数有丰富的小波函数和处理函数,这不仅方便了研究人员,而且使源程序简洁明了、易实现。
② 强大的数学运算功能。能够方便、高效地实现音频、视频中的大量矩阵运算。
③ 提供了图像处理工具箱、小波分析工具箱、数字信号处理工具箱。用来编制跨数字图像处理技术、数字信号处理等多学科的数字水印技术是非常好的选择。
④ MATLAB与目前最强大的编程工具——Visual C++具有良好的接口。 2()()()0()0EzEYXWEzXWEz没有水印存在!-
3.3.3. MATLAB函数介绍
在介绍函数之前,我们必须明确一点:作水印程序时,处理的图像数据是二维信号,而声音信号是一维信号。这里,我们仅仅简单介绍与水印有关的函数。
① 数据输入输出函数
imread()和imwrite():可以读写bmp,jpg/jpeg, tif/tiff, png, hdf, pcx, wxd格式文件。读索引文件时,还可以得到相应的调色板数据。
auread()、auwrite()、wavread()和wavwrite():可以方便地读写au和wav文件,并可控制其中的位及频率。
② 图像显示
imshow():显示一幅图像;imfinfo():可以得到读入图像的信息。如文件的大小、格式、格式版本号、图像的高度、宽度、颜色类型(真彩色,灰度图还是索引图)等。
③ 变换频函数
对信号采用不同的变换,是实现频域法水印的至关重要的一步,MATLAB中对一维信号和二维信号分别提供了各种变换和逆变换函数。
离散余弦变换(DCT)
dct(),dct2():分别实现一维信号和二维信号的DCT(离散余弦变换);
idct(),idct2():分别实现一维信号和二维信号的IDCT(逆向离散余弦变换);
离散小波变换(DWT)
dwt(),dwt2():分别实现一维信号和二维信号的DWT(离散小波变换)
idwt(),idwt2():分别实现一维信号和二维信号的IDWT(离散小波变换);
Wavedec2():多级二维小波分解函数;
数字水印的matlab实现
clear all;
load woman;
I=X;
%С²¨º¯Êý
type='db1';
%2άÀëÉ¢DaubechiesС²¨±ä»»
[CA1,CH1,CV1,CD1]=dwt2(I,type);
C1=[CH1,CV1,CD1];
%ϵÊý¾ØÕó´óС
[len1,wid1]=size(CA1);
[M1,N1]=size(C1);
%¶¨ÒåãÐÖµT1
T1=50;
alpha=0.2;
%ÔÚͼÏñÖмÓÈëˮӡ
for count2=1:1:N1
for count1=1:1:M1
if(C1(count1,count2)>T1)
mark1(count1,count2)=randn(1,1);
newc1(count1,count2)=double(C1(count1,count2))+alpha*...
abs(double(C1(count1,count2)))*mark1(count1,count2);
else
mark1(count1,count2)=0;
newc1(count1,count2)=double(C1(count1,count2));
end
end
end
%ÖØ¹¹Í¼Ïñ
newch1=newc1(1:len1,1:wid1);
newcv1=newc1(1:len1,wid1+1:2*wid1);
newcd1=newc1(1:len1,2*wid1+1:3*wid1);
R1=double(idwt2(CA1,newch1,newcv1,newcd1,type));
watermark1=double(R1)-double(I);
subplot(1,2,1);image(I);
MATLAB技术图像水印应用
MATLAB技术图像水印应用
图像水印是一种常用的技术,用于保护和认证数字图像的版权。它在各种应用领域中得到了广泛的应用,如数字媒体、电子商务、内容传输等。而MATLAB作为一个强大的数值计算和数据可视化工具,也被广泛应用于图像水印的开发和实现上。本文将介绍MATLAB技术在图像水印应用中的一些方法和应用案例。
图像水印的目的是将一个不可见的标识(水印)嵌入到原始图像中,以便在需要时可以被提取出来。在嵌入水印的过程中,我们需要考虑保持图像的视觉质量,并且保证水印在不经意间不能被删除或篡改。
MATLAB提供了一系列的图像处理工具箱,可以方便地处理和操作图像数据。首先,我们可以使用MATLAB的图像处理函数来读取和显示原始图像。然后,我们可以使用图像处理函数来对原始图像进行一系列的操作,如滤波、增强等。
在图像水印应用中,常用的一种方法是使用离散余弦变换(DCT)。DCT是一种将信号或图像从时域转换到频域的技术。通过将图像分成块,并对每个块进行DCT变换,我们可以得到一组表示图像频谱的系数。而嵌入水印的过程则是通过将水印信息嵌入到这些系数中。MATLAB提供了现成的函数可以方便地进行DCT变换和逆变换。
除了DCT变换,还有一种常用的图像水印方法是使用离散小波变换(DWT)。DWT是一种多分辨率分析技术,可以将信号或图像分解成多个频率子带。通过将水印信息嵌入到某些子带中,我们可以实现图像水印的目的。MATLAB提供了一系列的小波函数,可以方便地进行小波变换和逆变换。
另外,MATLAB还提供了一些图像处理工具箱,如图像压缩、图像恢复等。这些工具箱可以在图像水印应用中发挥重要的作用。例如,在图像压缩的过程中,我们可以将水印嵌入到压缩编码的数据中。这样,即使在图像被压缩和传输的过程中,水印依然能够保持不变。 除了常规的图像水印应用,MATLAB还可以用于一些特殊领域的图像水印应用。例如,在医学图像中,我们可以使用图像水印技术来保护患者隐私和数据完整性。在数字媒体的应用中,我们可以使用图像水印技术来保护音频和视频数据的版权。
信息隐藏与数字水印matlab实现讲述
- 1 - 1
网络与信息安全专题研究
题 目 信息隐藏与数字水印原理与matlab实现
姓 名 XXX
院 系 信息与技术学院
年级专业 XX级计本班
指导教师 XXX
2015年6月15日
- 2 - 2 目 录
第一章 摘要 ................................................................................................................................. 2
第二章 信息隐藏原理 ................................................................................................................... 3
2.1信息隐藏技术的特点 ........................................................................................................ 3
2.1.1不可感知性 ............................................................................................................ 3
2.1.2鲁棒性 .................................................................................................................... 3
2.1.3隐藏容量 ................................................................................................................ 4
基于数字水印的安全图像认证算法的Matlab实现
信息技术 SOlENCE&TECHN0L0GY . 匿圆 基于数字水印的安全图像认证算法的M a t l a b实现① 吴晓云 (广东商学院信息学院 广州 51 0320) 摘要:对数字图像进行真伪认证近年来引起人们的广泛关注,使用数字签名及数字水印均可对图像进行认证。与数字签名相比,基于数 字水印的图像认证算法因具有众多优点而成为研究热点。本文介绍了一种用于图像认证的安全数字水印算法井给出其Matlab实现。 关键词:数字水印 安全图像认证 Matlab 中图分类号:TP31 文献标识码:A 文章编号:l672—3 791(201o)l 2(b)一001 7--02 近年来,随着多媒体技术的迅猛发展, 图像实现了数字化,与传统意义上的图像 相比,数字图像具有易复制、易传播及易篡 改等特点,这里易篡改是指图像内容易被 图像处理软件(Adobe Photoshop等)随意地 修改,图像在经过精心修改后,篡改后的图 像与原始图像单凭肉眼非常难辨别真假, 此时眼见不再为实,故有必要对数字图像 的真伪进行鉴定,数字图像认证技术应运 而生,数字签名和数字水印是目前两种常 见的图像认证技术。数字签名一般采用图 像的基本特征为其签名,该法虽然认证结 果准确,但针对图像却存在效率不高、不能 指出图像篡改区域、安全性不高的弊端。数 字水印则弥补数字签名技术的这些不足, 它通过在图像中嵌入认证水印达到图像真 伪鉴别的目的,目前采用数字水印的图像 认证技术已成为研究热点。 1数字水印概述 数字水印依据应用可分为鲁棒水印和 脆弱水印。鲁棒水印或称稳健水印,它是指 水印信息在遭受压缩、滤波、几何变换(平 移、旋转等)等攻击下仍然可被检测出来, 它主要用于版权保护。脆弱水印则广泛应 用于图像认证,故又称为认证水印,这种水 印还可进一步细划为完全脆弱水印和半脆 弱水印,二者的区别主要在于嵌入半脆弱 水印的图像在受到诸 ̄NJPEG压缩等正常信 号处理时可呈现出一定鲁棒性。对于一种 有效的脆弱水印算法一般要求应当具备以 下特点【lJ口 (1)不可见性。水印在嵌入到载体图像 后,所得到水印图像通过人类视觉系统难 以察觉出与原始图像的差别。该项特性特 别重要,它是衡量水印认证系统性能的重 要指标。 (2)恶意篡改的脆弱性。图像在受到剪 切、替换等恶意更改图像内容的操作时,嵌 入其中的水印信息会被破坏。 (3)盲提取。水印信息无需借助原始图 像就可以直接从含水印图像中提取出来。 要使认证水印算法能得到广泛的实际 应用,水印除应具备以上基本特点外还需 尽可能地满足以下要求。 (i)安全性。这是指水印算法应具有较 强的抵抗非法破解能力,以免攻击者破译 水印系统后进行非法复制、伪造水印图像, 使得图像虽遭篡改但依然能够通过检测。 (2)对正常信号处理的鲁棒性。对于不 改变图像内容的正常信号处理操作(JPEG 有损压缩、高斯噪声等),水印应表现出一 定的鲁棒性。 (3)准确的篡改定位能力。通过提取出 来的水印信息就可以判断出被篡改的位 置,在此基础上,还可以采取一些方法将这 些被更改区域的图像尽可能地恢复出来。 (4)较低的计算复杂度。水印嵌入和提 取所需的运算量不大,以满足实时应用的 需求。 脆弱水印的算法可分为空域法和变换 域法。空域法是将水印信息直接嵌入到图 像的像素中,该法具有嵌入速度快及容易 实现的特点,不过为了保证水印的不可见 性,水印信息一般都嵌在像素的最低有效 位,这样所得到的水印图像即使仅仅只遭 受正常信号处理操作,水印信息亦有可能 被破坏,实际应用领域较为狭窄。在变换域 算法当中,首先是对图像进行某种变换,然 后将水印嵌入到变换后的系数中,再经逆 变换得到含水印的图像。常被使用的变换 有DCT(离散余弦变换)、DWT(离散小波变 换)等。在变换域算法中,变换域中嵌入的 水印信号能量分布到所有像素中,在保证 水印具有较好不可见性的同时,亦具有较 强的鲁棒性。与空域法相比,变换域算法的 计算量稍大。 经过各国研究人员的努力,目前已有 不少基干水印的图像认证算法发表,然而 这些算法大多数没有考虑算法的安全性, 这就大大地限制了算法的实际推广。要让 算法具有实际应用意义,算法安全性是必 须考虑的因素之一。本文将在第三部分介 绍一种基于水印的安全图像认证算法并于 第四部分给出共部分实现代码。 2基于数字水印安全图像认证算法 为了增强认证水印算法的安全性,水 印必须能够抵抗伪认证攻击。伪认证攻击 可以在不破坏水印信息的前提下,篡改图 ①基金项目:本文得到广东商学院校级科研项目一般项目(08YB52003)资助。 像的内容,由于嵌入的水印信息未被破坏, 因此认证系统会错将已遭受篡改的图像认 为是真实无误的。 常见的基于小波变换的水印算法使用 的是固定不变的小波基,这样攻击者若窃 取了算法,就可以获得原始水印信息,从而 可以实施有效的伪认证攻击。为了抵抗伪 认证攻击,以提高算法的安全性,胡军全 1 提出的一种基于参数化整数小波变换的认 证水印算法,本部分将对该算法做一个简 要的介绍。 基于参数化整数小波变换的基本思路 是利用参数来选择变换所使用的小波基, 使用不同的嵌入参数,就相当于采用了不 同的小波基对图像进行变换,只要确保参 数的取值空间足够大,攻击者即使知道水 印的嵌入算法,也难以穷取出正确的嵌入 参数,从而无法实施有效的伪认证攻击,保 证了水印的安全性。此外采用基于提升格 式实现的整数小波变换也较采用传统小波 变换的计算复杂度低,而且整数小波变换 的变换系数为整数,整数运算速度快,无运 算误差,易用硬件实现,非常适合用于图像 认证。一种采用9/7双正交小波的整数小波 变换形式详见式(1)~式(3) I =X2f+1 f ”= +znt(aO ̄ + )) )= +Int(fl(d ̄”十 )) f = ”+ f( ”+ )) : j”+ f( ( + )) I = +J"r(( — ) j ) I ”= j + zf((一1/ ) ) f = + f(( —1) ) ): )+ , 其中参数o【、p、Y、5、‘这五个参数 之间的相互关系可查阅文献2,这里0【的取 值区间为(一3,1.2)内的实数。 3实现 此处,我们使用Matlab实现了上述算 法。其中GenMarkedImage实现水印信息的 (下转l 9页)
数字水印算法(包含完整程序)
武汉理工大学《数字水印算法设计》课程设计任务书
课程设计任务书
学生姓名: 专业班级:
指导教师: 工作单位: 武汉理工大学
题 目: 数字水印算法设计
初始条件:
(1)Matlab应用软件的基本知识以及基本操作技能。
(2)高等数学、信号与系统等基础运算知识。
要求完成的主要任务:
(1) 掌握一种数字水印的嵌入与提取算法原理。
(2) 编写出水印嵌入算法的matlab程序,并给出水印嵌入前后的版权图像,并对嵌入效果进行分析说明。
(3) 编写出水印提取算法matlab程序,并给出水印原图和提取出的水印图像,并对水印的提取效果进行分析说明。
(4) 进行水印的抗攻击实验,噪声攻击,剪切攻击,缩放攻击,压缩攻击等。测定提取前后水印的峰值信噪比(PSNR)和相关性(NC)。
时间安排:
6月20日到6月27日 理论设计与仿真
6月28日到7月3日 撰写报告
7月4日 答辩
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
武汉理工大学《数字水印算法设计》课程设计任务书
1
目 录
摘 要.............................................................................................................................. 2
ABSTRACT ................................................................................................................... 3
基于MATLAB的数字图像水印算法研究与应用
基于MATLAB的数字图像水印算法研究与应用
数字图像水印技术是一种信息隐藏技术,通过在数字图像中嵌入特定的信息,实现对图像的认证、版权保护、身份验证等功能。在当今信息爆炸的时代,数字图像水印技术越来越受到人们的关注和重视。本文将围绕基于MATLAB的数字图像水印算法展开研究与应用探讨。
一、数字图像水印技术概述
数字图像水印技术是一种将特定信息嵌入到数字图像中并能够提取出来的技术。通过在图像中添加水印信息,可以实现对图像的认证、完整性验证、版权保护等功能。数字图像水印技术主要包括空域水印和频域水印两种类型,其中频域水印技术又包括离散余弦变换(DCT)域水印和小波变换域水印等。
二、MATLAB在数字图像处理中的应用
MATLAB是一种强大的科学计算软件,广泛应用于数字图像处理领域。其丰富的工具箱和便捷的编程环境使得MATLAB成为研究者和工程师首选的工具之一。在数字图像处理中,MATLAB提供了丰富的函数和工具,可以实现图像的读取、显示、处理、分析等操作,为数字图像水印算法的研究与实现提供了便利。
三、数字图像水印算法原理
1. 空域水印算法 空域水印算法是将水印信息直接嵌入到原始图像的像素值中。常见的空域水印算法包括LSB替换算法、LSB匹配算法等。LSB替换算法是将水印信息嵌入到原始图像的最低有效位中,以保证对原始图像影响最小;LSB匹配算法则是通过调整像素值使得其最低有效位与水印信息相匹配。
2. 频域水印算法
频域水印算法是将水印信息嵌入到原始图像的频域表示中,常见的频域水印算法包括DCT域水印和小波变换域水印。DCT域水印是将水印信息嵌入到原始图像的DCT系数中,利用DCT变换的性质实现对原始图像的保护;小波变换域水印则是将水印信息嵌入到原始图像的小波系数中,具有更好的鲁棒性和安全性。
四、基于MATLAB的数字图像水印算法实现
在MATLAB环境下,可以通过编写相应的代码实现数字图像水印算法。首先需要读取原始图像和水印信息,然后根据所选的算法进行水印嵌入和提取操作。在实现过程中需要考虑到数据处理精度、鲁棒性、安全性等因素,以确保算法的有效性和可靠性。
基于Matlab的数字图像水印技术
1 基于Matlab 的数字图像水印技术
**********
摘要:数字水印技术涉及到许多图像处理算法以及数学计算工具等,如果用普通编程工具实现上述算法,需要要花费大量的时间,MathWorks公司推出的一种简单、高效、功能极强的高级语言——MATLAB语言,它具有高性能数值计算能力,可视化计算环境。只需短短的几行代码就可在MATLAB中解决许多复杂的计算问题。
关键字:图像处理,数字水印, MATLAB
0 引言
随着Internet的普及,信息的安全保护问题越来越备受关注。如何有效地防止数据的非法复制以及鉴别数字媒体的知识产权,成为急需解决的问题。Caronni在1993年提出了数字水印,并将其应用于数字图像,后来,将数字水印的概念扩展到电视图像等领域,数字水印技术是一种版权保护的重要手段,得到了广泛的研究和应用。本文简要介绍一下基于Matlab的数字图像水印技术。介绍数字水印的原理以及使用方法,探索了基于离散余弦变换(DCT)的数字图像水印算法,并借助MATLAB,实现数字水印的嵌入、提取以及攻击测试。
1 数字水印技术
1.1 数字水印
数字水印(Digital Watermarking)技术是将一些标识信息(即数字水印)直接嵌入数字载体当中,例如包括多媒体、文档、软件等,但不影响原载体的使用价值,也不容易被人的知觉系统,如视觉或听觉系统觉察到。通过这些隐藏在载体中的信息,可以确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等。数字水印是信息隐藏技术的重要研究方向之一。从信号处理的角度看,在载体图像中嵌入数字水印,可以视为在强背景(即原始公开图像)下叠加一个视觉上看不到的弱信号(即水印图像),由于人的视觉系统(Human Visual 2 System,HVS)[1]分辨率受到一定的限制,只要保证叠加信号的幅度低于HVS的对比度门限,HVS就感觉不到信号的存在,因此,通过对载体对象作一定的调整变换,就有可能在不引起人感知的情况下嵌入一些信息。
基于傅里叶变换的数字图像水印matlab仿真
产业与科技论坛
2020年第19卷第3期
Industrial&Science
Tribune2020(19)3基于傅里叶变换的数字图像水印Matlab
仿真
□严学阳彭禹
【
内容摘要】
本文研究的主要方向是基于离散傅里叶变换的数字图像水印MATLAB
仿真,
数字水印技术是属于图像隐藏技术
的一个分支,
在维护数字信息版权方面有着广泛的应用,
具有较好的抗干扰能力和保密特性。
本文以二值化灰度
图像作为研究对象,
利用离散二维余弦变换的基本原理设计水印嵌入算法及水印提取算法,
实现了数字图像水印
的嵌入和提取。
具体实现方法通过一款具有强大的非线性动态系统建模和仿真功能的软件MATLAB
进行算法的
实现和仿真测试,
由仿真实验结果知本文所设计的数字图像水印算法在信息的安全保密性和鲁棒性方面都有不错
的表现。
【
关键词】
离散余弦变换;
数字图像;
水印嵌入算法;
水印提取算法;MATLAB
仿真
【
作者简介】
严学阳(1994~),
女,
内江师范学院硕士研究生;
研究方向:
信号与信息处理
彭禹(1995~),
男,
昆明理工大学硕士研究生;
研究方向:
电子与通信工程
在社会信息化、
数字化不断向前进步的时代背景下,
多
媒体信息的数字化极大地方便了人们对信息的保存以及读
取。
但任何事物都具有两面性,
信息的数字化是一把双刃剑
既有好的一面,
也有不好的一方面。
伴随着科技的不断革
新,
复制技术也是越来越高明,
很多时候数字化的信息文件
就极容易被他人进行非法的复制或是进行盗版销售,
因此严
重损害了持有者的版权利益。
数字水印技术是近些年来发
展比较迅猛的一种新的水印技术,
它被广泛的用于数字多媒
体信息的版权保护、
防伪认证、
隐蔽通信以及拷贝控制等方
面。
目前各行各业的保密工作中对数字水印技术都有所涉
及,
但是数字水印技术还不是很成熟,
还有很大的研发潜力。
因此充分了解其最新的研究现状和发展动态对数字水印的
研究具有重要的指导意义。
本文在实现数字图像水印的嵌
入算法和提取算法上选择二值化灰度图像作为研究对象,
利用Matlab进行数字水印与版权保护的方法总结
利用Matlab进行数字水印与版权保护的方法总结
引言:
随着信息技术的快速发展,数字媒体的使用已经成为人们生活的一部分。然而,数字媒体的盗版现象也日益严重,这对于版权保护提出了巨大挑战。数字水印技术作为一种应对盗版问题的手段,逐渐受到了广大研究者的重视。本文将总结利用Matlab进行数字水印与版权保护的各种方法,以期为相关研究提供一些参考。
一、数字水印技术的基本原理
数字水印技术是通过在数字媒体中嵌入特定的信息,以实现版权保护的目的。其基本原理是将数字水印信息与原始媒体进行融合,使得人眼无法察觉水印的存在,同时能够在未经授权的复制或者修改方面进行鉴别。
二、Matlab在数字水印技术中的应用
1. 数字水印的嵌入与提取
Matlab提供了一些常用的方法,如频域相关和空域相关等,可用于数字水印的嵌入与提取。通过Matlab强大的图像处理功能,可以对原始媒体进行一系列的变换、嵌入水印信息,并能够在水印保护数据的传输过程中进行提取和验证。
2. 图像处理与特征提取
Matlab具有灵活的图像处理函数和工具箱,可以用于数字媒体的图像预处理,改变图像的特征,增强数字水印的可靠性和抗攻击性。例如,可以利用Matlab进行图像的降噪、平滑处理,提取图像的边缘信息以及重要特征点,以增加数字水印的鲁棒性。 3. 抗攻击与鲁棒性分析
在数字水印技术中,抗攻击能力和鲁棒性是非常重要的指标。Matlab提供了多种方法和函数,例如小波变换、图像压缩等,可以用于对数字水印的抗攻击性进行分析和评估。通过Matlab的模拟仿真,可以评估数字水印在媒体攻击、失真压缩等情况下的抗干扰能力和鲁棒性。
4. 数字水印算法的改进与优化
Matlab是一种非常适合进行算法实现和验证的工具。通过Matlab平台,可以将新的数字水印算法快速实现并进行验证。同时,Matlab提供了优化和调优的函数和工具箱,可以对数字水印算法进行优化,提高数字水印的嵌入效率和提取准确性。
MATLAB制作数字水印
MATLAB制作数字水印
1. 数字水印
1.1背景
二十一世纪是数字时代,通信技术的迅速发展和计算机网络的普遍运用,使人们可以通过互联网收发信息,可以随时上传自己创作的数字图象、音乐、视频等作品,可以进行学术交流。
然而,也正是由于网络的这种便捷性、传播迅速的优点使其很容易被非法拷贝,导致数字产品的版权、完整性、有效性得不到保证,严重损害了创作者的利益。而一些具有特殊意义的数字信息,如涉及司法诉讼、政府机要等信息,更是遭到了不法分子地恶意攻击和随意篡改等,这一系列问题给当今科学家带来了巨大挑战。
基于以上类似问题,数字水印技术可以说是信息时代的特有产物,是一种可以在开放网络环境下保护版权和认证来源及保障信息完整性的新型技术,在音频、图像、视频制品中迅速得到广泛的研究和发展。
1.2基本特点
数字水印是加在数字图象、音频或视频中的微弱信号,这个信号是人们能够建立产品所有权、辨认购买者或提供数字产品的一些额外信息。具体说来,它们都具有以下共同的特征:
1. 不可感知性
对于数字水印的嵌入,应该对观察者没有视觉障碍,理想情况应该是水印图像与原始图像没有丝毫差别。
2. 鲁棒性
鲁棒性是指一个数字水印能够承受攻击的能力,一般来说数字水印方法是针对特定的攻击进行设计。
3. 安全性
水印技术的安全性是其最重要的特性,由于它的商业性,其算法必须公开,算法的安全性完全取决于密钥,而不对算法进行保密。
4. 计算复杂度
不同应用中,对于水印的嵌入算法和提取算法的计算复杂度要求是不同的,复杂度直接与水印系统的实时性相关。
5. 水印容量
水印容量是指载体数据字中可嵌入水印信息位的多少,可以从几兆到几个比特不等。
[1]1.3 数字水印的应用
数字水印是以不可感知的方式嵌入到数字信息中的,总体来说它有以下应用:
数字产品产权保护
这是数字水印最广泛的应用,将秘密的数字信号嵌入到有价值的数字文件中,这些数字信号是产权的标识,在不破坏数字文件的情况下不能被盗版者出去,起到了保护产权的作用。
