基于MATLAB数字水印系统设计课件

上传人:我*** 文档编号:147954516 上传时间:2020-10-14 格式:PPT 页数:57 大小:605.50KB
返回 下载 相关 举报
基于MATLAB数字水印系统设计课件_第1页
第1页 / 共57页
基于MATLAB数字水印系统设计课件_第2页
第2页 / 共57页
基于MATLAB数字水印系统设计课件_第3页
第3页 / 共57页
基于MATLAB数字水印系统设计课件_第4页
第4页 / 共57页
基于MATLAB数字水印系统设计课件_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《基于MATLAB数字水印系统设计课件》由会员分享,可在线阅读,更多相关《基于MATLAB数字水印系统设计课件(57页珍藏版)》请在金锄头文库上搜索。

1、MATLAB是一套高性能的数值计算和可视化软件,其强大的图形功能以及丰富的图像处理工具函数,使得MATLAB特别适合于图像处理学习和应用。本章将结合数字水印技术,重点介绍如何利用MATLAB实现图像处理的基本功能。,基于MATLAB数字水印系统设计,基于MATLAB数字水印系统设计,1 数字水印简介 数字水印技术的特征及分类 数字水印系统的组成部分 设计实现及测试,数字水印技术是通过一定的算法将一些标志性信息直接嵌入到多媒体内容当中,但不影响原内容的价值和使用,并且不能被人的感知系统察觉或注意到,只有通过专用的检测器或阅读器才能提取的一种技术。其中的水印信息可以是作者的序列号、公司标志、有特殊

2、意义的文本等信息,可用来识别文件、图像或音乐制品的来源、版本、原作者、拥有者、发行人、合法使用人等对数字产品的拥有权。,1 数字水印简介,数字水印技术大致可分为两类:如空间域方法和变换域方法。空间域方法不复杂,不进行变换,,但并不抗攻击。变换域水印技术比空间域方法是更抗攻击。这是由于当图像逆小波变换,数字水印在图像分布不规则,使得攻击者难以阅读或修改。在变换域水印技术基于离散小波变换(DWT)数字水印技术得到了越来越多的欢迎,因为DWT有多项优于其他变换如渐进性和低码率传输、质量的可伸缩性和感兴趣区域(ROI)编码的需求,在图像压缩和数字水印的应用程序,可以被利用的更高效和更通用的图像编码。基

3、于离散小波变换(DWT)更加满足于JPEG2000压缩标准的要求。,2.1数字水印技术的特性,数字水印有很多特征,其中最主要的特征是可证明性、保真度、安全性、鲁棒性及安全性,其主要介绍如下: 1)可证明性:水印应能为受到保护的信息产品的版权归属提供完全可靠的证据。 2)保真度:即不可感知性是指视觉上或听觉上的不可感知性,即是指因嵌入水印信息后导致载体数据的变换而对于观察者的视觉或听觉系统来讲应该是不可被察觉的。,3)鲁棒性:鲁棒性是指在经历多种无意或有意的信号处理过程后,数字水印仍能保持完整或仍能被批准鉴别。可能的信号处理过程包括信道噪声、滤波处理、数模或模数转换、冲采样、剪切、位移、尺度变化

4、以及有损压缩编码等。 4)安全性:水印的安全性要求未授权者不能发现数字产品中含有水印信息,或者算法安全性仅仅依赖于密钥而不依赖于算法的保密性。 除以上基本特征外,在实际应用中,数字水印还应该尽量满足以下要求: 1)嵌入位置的安全性:指将水印信息嵌入于目标数据中,而非文件头等处,防止由于格式的变化而被破坏。,2)通用性:比较好水印算法大多都实用于多类媒体格式与文件格式。通用性在特定程度上也代表易用性。 3)计算效率高:在软件和硬件方面,水印算法也应该能被有效的实现。需要特别注意的是,在分布式网络上的多媒体数据监视方面,水印检测算法的能够快速完成。,2.2数字水印技术的分类,数字水印的分类方法有很

5、多种,不同的出发点导致了不同的分类,他们之间既有联系又有区别,本文主要介绍按水印的嵌入域划分。 1按特性划分 按水印的特性可以将数字水印分为鲁棒数字水印和脆弱数字水印两类。鲁棒数字水印主要用于在数字作品中标识著作权信息,如作者、作品序号等,它要求嵌入的水印能够经受各种常用的编辑处理;脆弱数字水印主要用于完整性保护,与鲁棒水印的要求相反,脆弱水印必须对信号的改动很敏感,人们根据脆弱水印的状态就可以判断数据是否被篡改过。,2按水印所附载的媒体划分 按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。随着数字技术的发展,会有更多种类的数

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

7、说,如果解码后的水印序列有若干码元错误,则只能通过统计决策来确定信号中是否含有水印。 5按用途划分 不同的应用需求造就了不同的水印技术。按水印的用途,我们可以将数字水印划分为票据防伪水,印、版权保护水印、篡改提示水印和隐蔽标识水印。票据防伪中的水印是相当特别的一种水印,主要在票据的打印及在电子票据防伪中应用。一般说,制造假币的人不能对票据中的图像修改的过多,因此,尺度变换等操作是不在考虑范围内。另外,票据的破损、图案模糊等地方也必须被考虑,更要考虑快速检测的要求,在票据的防伪中水印算法不可以过于复杂。版权标识中的水印是当前数字水印研究中使用最多的一种。数字作品既是一种商品也是知识产品,这种双重

8、性即强调水印隐蔽的特性又强调了水印的稳健的特性,然而对数据容量的要求相对比较小。篡改提示水印为脆弱水印的一类,其把保证宿主信号的完整性及真实性为目的。隐蔽标识的水印主要是将被保,密数据的标注进行隐藏,使保密数据不被非法使用者使用。 6按水印嵌入域划分 按水印的嵌入的位置,可以将其划分为时/空域水印和变换域水印,其中根据变换域的不同,也分为离散余弦变换(discrete cosine transform,DCT)域水印、离散傅里叶变换(discrete Fourier transform,DFT)域水印和离散小波变换(discrete wavelettransform,DWT)域水印,以及哈德码

9、变换域水印、Fresnel变换域水印、Zernike变换域水印和奇异值分解(singular value decomposition,SVD)域水印等。,时/空域水印是将水印信息直接叠加到载体信号的时间域或者空间域之中;然而变换域水印是将水印信息嵌入到变换域中,此时,水印提取也应该在变换域进行。时(空)域水印算法在早期的研究中使用的较多,一般实时性和复杂度等特点比较好,但其鲁棒性比较差,主要用途是设计脆弱水印与半脆弱水印;在变换域的水印算法具有良好的鲁棒性较强和容量较大等特点,所以主要用途是设计鲁棒水印,也可以与人类的知觉相互结合从而使水印具有良好的保真度。,3、数字水印系统的组成,一个数字水

10、印系统一般包括3个基本方面:水印的生成、水印的嵌入和水印的提取或检测。数字水印技术实际上是通过对水印载体媒质的分析、嵌入信息的预处理、信息嵌入点的选择、嵌入方式的设计、嵌入调制的控制等几个相关技术环节进行合理优化,寻求满足不可感知性、安全可靠性、稳健性等诸条件约束下的准最优化设计问题。而作为水印信息的重要组成部分密钥,则是每个设计方案的一个重要特色所在。往往可以在信息处理、嵌入点的选择和调制等不同环节入手完成蜜月的嵌入。,4、设计实现及测试,1基于DCT域的鲁棒水印 水印的嵌入 基于DCT的鲁棒水印嵌入流程图,具体步骤: 原始图像的分块DCT变换 将原始图像分割为互不覆盖的88子块,再对每个子

11、 块进行DCT变换。 基于纹理掩蔽特性的块分类 将水印信号尽可能嵌入到图像中纹理较复杂的子块。 水印的产生和嵌入 将二值水印图像组成一维行向量,作为水印信息。采 用折衷办法,将水印信息嵌入到宿主图像的中频部分,程序代码如下: clear all; k=20; %设置水印强度 blocksize=8; %设置图像分块为8*8 midband= 0,0,0,1,1,1,1,0; 0,0,1,1,1,1,0,0; 0,1,1,1,1,0,0,0; 1,1,1,1,0,0,0,0; 1,1,1,0,0,0,0,0; 1,1,0,0,0,0,0,0; 1,0,0,0,0,0,0,0; 0,0,0,0,0

12、,0,0,0 ;,message=imread(copyright.bmp);%读入图像“copyright”,并转换成双精度数组 message=imresize(message,28,28); %message=rgb2gray(message); imwrite(message,copyright.bmp,bmp); figure,imshow(message); message=double(message); Mm=size(message,1); %计算图像的高度 Nm=size(message,2); %计算图像的宽度 n=Mm*Nm; message=round(reshape

13、(message,1,n)./256);%将水印图像转变为1维行向量,message由0,1构成,cover_object=imread(lena.bmp);%读入原始宿主图像,并转换成双精度数组 %cover_object=rgb2gray(cover_object); figure,imshow(cover_object); imwrite(cover_object,lena.bmp,bmp); cover_object=double(cover_object); Mc=size(cover_object,1); %计算原始宿主图像的高度 Nc=size(cover_object,2);

14、%计算原始宿主图像的宽度 c=round(Mc/8);d=round(Nc/8);m=c*d; %计算图像划分的图像块 xx=1;,for j=1:c for i=1:d pjhd(xx)=1/64*sum(sum(cover_object(1+(j-1)*8:j*8),(1+(i-1)*8):i*8); fc(xx)=1/64*sum(sum(cover_object(1+(j-1)*8:j*8),(1+(i-1)*8):i*8)-pjhd(xx).2); xx=xx+1; end end A=sort(fc); %取出方差最大的前n块 B=A(c*d-n+1):c*d); %将水印信息嵌入

15、到方差最大的前n块,fc_o=ones(1,c*d); for g=1:n for h=1:c*d if B(g)=fc(h) fc_o(h)=message(g); h=c*d; end end end message_vector=fc_o; watermarked_image=cover_object;,rand(state,7); pn_sequence_zero=round(rand(1,sum(sum(midband); %嵌入水印 x=1;y=1; for(kk=1:m) %分块DCT变换 dct_block=dct2(cover_object(y:y+blocksize-1,x

16、:x+blocksize-1); II=1; if(message_vector(kk)=0) for ii=1:blocksize for jj=1:blocksize if(midband(jj,ii)=1),dct_block(jj,ii)=dct_block(jj,ii)+k*pn_sequence_zero(II); II=II+1; end end end end %分块DCT反变换 watermarked_image(y:y+blocksize-1,x:x+blocksize-1)=idct2(dct_block); if(x+blocksize)=Nc,x=1;y=y+blocksize; else x=x+blocksize; end end watermarked_image_int=uint8(watermarked_image);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号