基于Matlab的数字图像水印技术Word下载.docx
- 文档编号:19562446
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:9
- 大小:341.31KB
基于Matlab的数字图像水印技术Word下载.docx
《基于Matlab的数字图像水印技术Word下载.docx》由会员分享,可在线阅读,更多相关《基于Matlab的数字图像水印技术Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
数字水印是信息隐藏技术的重要研究方向之一。
从信号处理的角度看,在载体图像中嵌入数字水印,可以视为在强背景(即原始公开图像)下叠加一个视觉上看不到的弱信号(即水印图像),由于人的视觉系统(HumanVisualSystem,HVS)[1]分辨率受到一定的限制,只要保证叠加信号的幅度低于HVS的对比度门限,HVS就感觉不到信号的存在,因此,通过对载体对象作一定的调整变换,就有可能在不引起人感知的情况下嵌入一些信息。
1.2数字水印技术的特点
数字水印技术大概具有以下几个方面的特点:
1.2.1安全性
数字水印的信息应是安全的,很难篡改或伪造,同时,应当有较低的误检测率,如果原内容发生变化,数字水印也发生变化,从而可以检测原始数据的变更;
当然数字水印同样对重复添加也有很强的抵抗性。
1.2.2隐蔽性
数字水印应是不容易被察觉的,而且是不影响被保护数据的正常使用的,也不会降质的。
1.2.3鲁棒性
是指在经历各种有意或无意的信号处理过程后,数字水印仍能保持部分完整性,并且能被准确鉴别。
可能的信号处理过程包括信道噪声、滤波、A/D与D/A转换、重采样、剪切、位移、尺度变化和有损压缩编码等。
主要被用于版权保护的数字水印易损水印(FragileWatermarking),用于完整性保护,这种水印也是在内容数据中嵌入不可见的信息。
如果内容发生改变时,这些水印信息也会发生相应的改变,从而可以鉴定原始数据是否被篡改。
1.2.4水印容量
是指载体在没发生形变的前提下可嵌入的水印信息量。
嵌入的水印信息必须足以表示多媒体内容的创建者的标志信息,或购买者的序列号,这样有利于解决版权纠纷和保护数字产权合法拥有者的利益。
尤其是隐蔽通信领域的特殊性,对水印的容量需求极大。
1.3数字水印的应用领域
伴随着数字水印技术的发展,数字水印的应用领域也得到了相应扩展,数字水印的基本应用领域是版权保护、隐藏标识、认证和安全不可见通信等。
当数字水印应用于版权保护时,潜在的应用市场在包括电子商务、在线或离线地分发多媒体内容以及大规模的广播服务。
数字水印用于隐藏标识时,可以在医学、制图、数字成像、数字图像监控、多媒体索引以及基于内容的检索等领域得到应用。
数字水印的认证方面主要用于ID卡、信用卡、ATM卡等上面数字水印的安全不可见通信,将在国防和情报部门得到广泛的应用。
多媒体技术的飞速发展和Internet的普及带来了一系列政治、经济、军事和文化方面的问题,产生了许多新的研究热点,以下几个倍受关注的问题构成了数字水印的研究背景。
1.3.1数字作品的知识产权保护
数字作品,如电脑美术、扫描图像、数字音乐、视频、三维动画等的版权保护是当前的热点问题。
由于数字作品的拷贝、修改非常容易,并且可以做到与原作完全相同,所以原创者不得不采用一些严重损害作品质量的办法,给作品加上版权标志,而这种明显可见的标志很容易被篡改。
“数字水印”利用数据隐藏原理,使版权标志不可见或不可听,既不损害原作品,又能够达到版权保护的目的。
目前,版权保护的数字水印技术已经进入了初步实用化阶段,IBM公司在其“数字图书馆”软件中就使用了数字水印功能,Adobe公司也在其著名的Photoshop软件中,集成了Digimarc公司的数字水印插件。
实事求是地说,目前市场上的数字水印产品在技术上还不成熟,非常容易被破坏或破解,距离真正的实用还有很长的路要走。
1.3.2商务交易中的票据防伪
随着高质量图像的输入输出设备的发展,尤其是精度超过1200dpi的彩色喷墨、激光打印机和高精度彩色复印机的出现,使货币、支票以及其他票据的伪造变得更加容易。
另一方面,在从传统商务向电子商务转变的过程中,会产生大量过度性的电子文件,如各种纸质票据的扫描图像等。
尽管在网络安全技术成熟以后,各种电子票据还需要一些非密码的认证方式。
数字水印技术可以为各种票据提供不可见的认证标志,从而很大程度增加了伪造的难度。
1.3.3证件真伪鉴别
信息隐藏技术可以在很大范围内应用,作为证件来说,每个人需要不只一个证件,证明个人身份的包括:
身份证、护照、驾驶证、出入证等;
证明某种能力的包括:
各种学历证书、资格证书等。
国内目前在证件防伪领域面临巨大的商机,因为缺少有效的措施,使得“造假”、“买假”、“用假”泛滥,已经严重地干扰了正常的经济秩序,对国家的形像也造成了不良影响。
通过水印技术可以确认该证件的真伪,使得该证件无法仿造假。
2高效并实用的工具——MATLAB
Matlab是当前在国内外十分流行的工程设计和系统仿真软件包。
它是MathWorks公司在1982年推出的一套高性能的数值计算以及可视化的软件,它把数值分析、矩阵运算、信号处理和图形显示集于一体,构成了一个方便的、界面友好的用户环境。
Matlab一推出就得到了各个领域专家、学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。
由各个专家学者相继推出的MATLAB工具箱,其中的信号处理(signalprocessing)、控制系统(controlsystem)、神经网络(neuralnetwork)、图像处理(imageprocessing)、鲁棒控制(robustcontrol)、非线性系统控制设计(nonlinearsystemcontroldesign)、系统辨识(systemidentification)、最优化(optimization)、模糊逻辑(fuzzylogic)、小波(wavelet)、通信(communication)、统计(statistics)等工具箱,这些工具箱给各个领域的研究工作和工程应用提供了有力的工具,凭借这些“巨人肩上的工具”,各个层次的研究人员可直观、方便地进行分析、计算以及设计工作,从而大大地节省了时间。
3数字水印的嵌入
水印嵌入就是把水印信号嵌入到原始图像中。
水印嵌入过程如图所示
图1水印提取过程
水印嵌入准则包括两个准则:
H法准则和乘法准则。
其中惩罚准则有强度因子,为保证在水印不可见的前提下,尽可能提高嵌入水印的强度。
强度因子的选择必须考虑图像的性质以及视觉系统的特性。
4数字水印的提取与检测
在某水印系统中,水印可以被精确地提取出来,这一过程就是水印提取。
例如在完整性确认的应用中,必须能够精确地提取出所嵌入的水印,还要通过水印的完整性来确认多媒体数据的完整性。
如果提取出的水印发生了部分的变化,最好还能够通过变化的水印的位置来确定原始数据有没有被篡改的位置。
水印在提取检测时可以需要原始图像的参与,也可以不需要原始图像的参与。
但将水印技术用于图像的网络发布和传播时,如果检测时需要使用原始图像,则是个缺陷,因此,当前大多数的水印检测算法不需要原始图像的参与[2]。
图2和图3分别是水印提取和检测的框图。
图2水印提取过程
图3水印检测过程
5利用Matlab实现图像数字水印加载算法
给图像加水印其实就是一个修改图像数据的过程,来给图像隐藏带有特定含义的信息编码。
目前,最常见的数字水印算法包括:
最低有效位算法LSB(Leastsignificantbits)、Patchwork方法及纹理块映射编码方法、基于变换域方法等。
其中LSB算法具有较大的信息隐藏量,可是水印很脆弱,容易被擦除。
Patchwork方法和纹理块映射编码方法隐蔽性较好,并且对于有损的JPEG和滤波、压缩和扭转等操作有较好的抵抗能力,可是仅适用于具有大量纹理区域的图像,不能完全自动完成。
基于变换域方法具有较好的稳健性,变换又包括:
离散余弦变换(DCT)、小波变换(WT)、付氏变换(FFT)和哈马斯变换等。
其中,基于分块的DCT是最常用的变换之一,因为现在所采用的静止图像压缩标准JPEG也是基于分块DCT的。
本文采用离散余弦变换(DCT)设计了水印的嵌入算法,将二值图像作为水印信号,利用Matlab(当前国内最流行的工程与设计软件)实现算法。
6水印攻击测试
由于数字水印在实际应用中可能会遭到各种各样的攻击,因此对算法进行攻击测试是衡量一个水印算法优劣的重要手段。
本程序的后半部分就是一个水印攻击与水印提取的程序,首先对嵌入水印后的图像进行JPEG压缩(一种水印攻击),而后从压缩的图像中提取出水印。
图4原始公开图像
图5水印图像
图6嵌入水印后的图像
图7加入高斯噪声的水印图像
图8从含水印图像中提取出的水印图像
7实验程序
clear
clc
M=512;
%原图像长度
N=64;
%水印图像长度
K=8;
I=zeros(M,M);
J=zeros(N,N);
BLOCK=zeros(K,K);
%显示原图像
subplot(2,3,1);
I=imread('
C:
\DocumentsandSettings\Administrator\桌面\图像.jpg'
'
jpg'
);
imshow(I);
title('
原始公开图像'
%显示水印图像
subplot(2,3,2);
J=imread('
\DocumentsandSettings\Administrator\桌面\水印.jpg'
imshow(J);
title('
水印图像'
%水印嵌入
forp=1:
N
forq=1:
x=(p-1)*K+1;
y=(q-1)*K+1;
BLOCK=I(x:
x+K-1,y:
y+K-1);
BLOCK=dct2(BLOCK);
ifJ(p,q)==0
a=-1;
else
a=1;
end
BLOCK(1,1)=BLOCK(1,1)*(1+a*0.03);
BLOCK=idct2(BLOCK);
I(x:
y+K-1)=BLOCK;
%显示嵌入水印后的图像
subplot(2,3,3);
嵌入水印后的图像'
imwrite(I,'
%从嵌入水印的图像中提取水印
J=imnoise(J,'
gaussian'
0,0.01);
subplot(2,3,4);
imshow(J,[]);
加入高斯噪声'
y=(q-1)*K+1;
BLOCK1=I(x:
BLOCK2=J(x:
BLOCK1=dct2(BLOCK1);
BLOCK2=dct2(BLOCK2);
a=BLOCK2(1,1)/BLOCK1(1,1)-1;
ifa<
W(p,q)=0;
W(p,q)=1;
%显示提取的水印
subplot(2,3,5);
imshow(W);
从含水印图像中提取的水印'
)[3];
8结语
当老师讲课说道数字水印技术时,就感觉自己很感兴趣,于是就在网上搜素了一下相关的信息,真的挺有意思,所以就选择了这个课题。
当着手做数字水印的时候,却发现好多好多不明白,在网上搜资料查询咨询老师等等,在此过程真的了解了好多相关的知识,从以前对于数字水印以及图像处理的Matlab程序的不懂到现在的这篇论文,进步了不少。
但是现在还是不能自己编出一套完整的程序,Matlab这样一个强大的工具!
嵌入水印信息后,原图与嵌入水印信息的图像在视觉效果上基本没有明显分别,用肉眼几乎分辨不出,这说明这种算法充分利用人限的视觉HVS特性,利用离散DCT域嵌入水印后,水印的不可见性相当好,图像在嵌入水印前后视觉效果改变不大,不会影响正常使用。
[参考文献]
[1]许录平.数字图像处理[M].北京:
科学出版社.2007.10.
[2]乇炳锡.陈琦,邓峰森.数字水印技术[M].西安:
西安电子科技大出版社.2003.
[3]胡彦.陈昭炯.MATLAB在数字水印中的应用[J].计算机工程.2003.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 数字图像 水印 技术