MATLAB在图像数字水印技术研究中的运用_图文

第 6卷  第 15期  2006年 8月
167121815 (2006) 1522264204  
计算机技术

科  学  技  术  与  工  程
Science Technology and Engineering

 Vol. 6 No. 15  Aug. 2006
Ζ  2006 Sci. Tech. Engng.

M ATLAB在图像数字水印技术研究中的运用
梁  欣  谭月辉 3  张俊萍  刘  凯 1
(中国人民解放军军械工程学院计算机教研室 ,石家庄 050003;西安卫星测控中心 1 ,西安 710038 )

摘 要 介绍了数字水印技术涉及的 MATLAB的基本图像处理函数 ,研究了 MATLAB在水印预处理和水印嵌入过程的运用 , 并给出了实例及实验结果 。 关键词 数字水印   MATLAB   置乱技术   离散小波变换 中图法分类号  TP309;   文献标识码  A

  随着网络交流日益普及和电子商务的蓬勃发 展 ,数字产品的版权保护问题以及数字信息的安全 传输就成为摆在人们面前迫切需要解决的问题 。 由于单纯依靠密码学技术有其局限性 ,即它对解密 后的数字产品失去保护意义 ,因此 ,在 20世纪 90年 代初期 , 产生了数字水印技术 。数字水印 (D igital W atermarking)作为信息隐藏的一个重要分支 ,可以 有效地实现网络环境中数字产品的版权保护 ,它是 解决这类问题的一种极具潜力的技术 。
由于数字水印技术本身涉及多种学科领域 ,导 致其研究的难度和复杂性较大 ;水印算法也大量用 到图像处理 、数学计算等 ,因此选用合适的编程工 具非常必要 。目前 , 在工程计算上被广泛应用的 MATLAB 软件以其强大的图像处理和数值计算功 能脱颖而出 ,它可以通过本身集成的图像处理函数 把水印算法实现变得简洁 、高效 。MATLAB 将 计 算 、图示和编程集成到一个交互式的环境中 ,计算 结果和编程过程实现了可视化 ,另外 MATLAB 语言
2006年 4月 5日收到    第一作者简介 :梁欣 ,军械工程学院计算机工程系 2004 级研究 生 ,研究方向 :计算机信息安全理论 、信息隐藏和数字水印 。 E mail: suxueyu_lk@126. com。 3 通讯作者简介 :谭月辉 ,军械工程学院 :副教授 ,研究方向 :计 算机信息安全理论 。

的语法规则容易熟悉掌握 。

1 M ATLAB图像处理函数介绍

由于着重讨论图像数字水印 ,所以以表格形式 只给出二维信号 (语音为一维信号 、图像为二维信 号 )处理函数 ,见表 1至表 4。

表 1 图像显示和输入输出函数

函数

功能

Im read Im show Imw rite True size Im finfo Sub im age Load Save

从图形文件中读取图像 显示图像 将图像写入图形文件中 调整图像显示尺寸 返回图形文件信息 在一幅图中显示多幅图像 将 3 . mat的图像文件调入到内存 保存工作区中的变量到 3 . mat格式的图像文件中

函数
Fft2 Ifft2 D c t2 Idct2 Dw t2 Idw t2

表 2 图像变换函数
功能 计算二维快速傅里叶变换 计算二维傅里叶变换的反变换 进行二维离散余弦变换 计算二维离散反余弦变换 一层二维离散小波变换 一层二维离散小波反变换

15期

梁  欣 ,等 : MATLAB在图像数字水印技术研究中的运用

22 65

函数
W avedec2 W averec2 D e tcoef2 Appcoef2 Upw lev2 W rcoef2 Up coef2 R adon

功能
多层二维小波分解 多层二维小波重构 提取二维小波分解高频系数 提取二维小波分解低频系数 二维小波分解的单层重构 二维小波分解系数单层重构 二维小波分解的直接重构 计算图像在指定角度的 radon变换

续表

表 3 图像类型转换和颜色空间转换

函数
Gray2 ind Ind2gray R gb2 gray Im2bw M at2gray Im 2 un it16 Im2double im2uint8 Isbw Isgray Isind Isgrb R gb2 h sv H sv2 rgb R gb2 ycbc r Ycbcr2 rgb rgb2ntsc ntsc2 rgb

功能
将灰度图像转换为索引图像 将索引图像转换为灰度图像 转换 RGB图像或颜色映像表为灰度图像 将图像转换为二进制图像 将矩阵转换为灰度图像 转换图像阵列为 16位无符号整型 转换图像矩阵为双精度型 转换图像阵列为 8 位无符号整型 判断是否为二进制图像 判断是否为灰度图像 判断是否为索引图像 判断是否为 RGB图像 转换 RGB值为 HSV 颜色空间 转换 HSV 值为 RGB颜色空间 转换 RGB的值为 YcbCr颜色空间 转化 YcbCr值为 RGB颜色空间 转换 RGB的值为 NTSC颜色空间 转换 NTSC的值为 RGB颜色空间

函数
Im c rop Im rotate Im resize H isteq Im ad ju st Im no ise Im resize D ither Co rr2 Sim ilar

表 4 攻击测试函数
功能
剪切图像 旋转图像 改变图像大小 实现对输入图像的直方图均衡化 调整图像灰度值或颜色映像表 给图像加入噪声 改变图像大小 通过抖动增加外观颜色分辨率 计算两个矩阵的二维相关系数 计算两个矢量的相似度

2 M ATLAB在水印预处理中的运用
置乱技术是一种图像加密技术 ,它利用数字图 像具有的数字阵列的特点 ,搅乱图像中像素的位置 或颜色使之变成一幅杂乱无章的图像 [ 1 ] ,从而达到 无法辨认出原图像的目的 ,可用于数字图像水印的 预处理和后处理过程 。对水印进行置乱变换可以 提高水印信息的安全性 ,增强水印的鲁棒性 。 置 乱过程不仅可以在数字图像的空间域上进行 ,还可 以在其频率域上进行 [ 2 ] 。常见置乱方法有 A rnold 变换 、幻 方 变 换 、H ilbert 曲 线 、Conway 游 戏 、广 义 Gray码变换 、仿射变换 、正交拉丁方变换等 [ 3 ] 。
置乱技术具有以下特点 :置乱技术一般来说具 有周期性 ;置乱变换之后的图像大小不发生改变 , 直方图不变 ,只是打乱图像各像素的次序 ; 置乱技 术是可逆变换 [ 4 ] ,水印在提取后需要进行置乱变换 的逆变换 。
对水印进行置乱处理的优点如下 。 1)采用置乱技术的合法使用者可以自由控制 算法的选择 、参数的选择以及使用随机数技术 ,从 而使非法使用者难以破译图像内容 ,即可以提高水 印信息的安全性 [ 5 ] 。 2)置乱技术可以分散错误比特的分布 ,提高数 字水印的视觉效果 ,从而增强其鲁棒性 [ 6 ] 。 以 A rnold变换为例 ,可用下面给出的 M atlab程 序计算出任意大小的图像恢复至原图时所需的迭 代周期 。如大小为 128 ×128的图像迭代 96次后将 回到原图 。
function Period = A rnoldPeriod (N ) % 求周期 , N 为待求图像的像素尺寸 if ( N < 2 )  Period = 0; % 如果 N < 2,即只有一个像素的情况下 ,周期为 0
re tu rn; end n = 1; x = 1; y = 1;    %初始位置 %通过循环寻找周期
while ( n = 0) xn = x + y; yn = x + 23 y; %A rnold变换公式
if ( mod ( xn, N ) = = 1 & mod ( yn, N ) = = 1 )

2266

科  学  技  术  与  工  程

6卷

%再次的回到原来的位置 ,完成一次的周期 Period = n; return;
end x =mod ( xn, N ) ; y =mod ( yn, N ) ; n = n + 1; end
原图像青椒    置乱变换 2次    置乱变换 40次 图 1 A rnold变换实现效果图
3 M ATLAB在数字水印实现中实用 、高效 的体现

% perform IDW T watermarked_image _ uint8 = uint8 ( watermarked _ image ) ; % convert back to uint8 imwrite (watermarked_image_uint8, ′dw t_watermarked. bmp ′, ′bmp ′) ; p snr = p snr( cover_object, watermarked_ image_uint8, Mc, Nc) , % cal2 culate the PSNR subp lot( 2, 2, 1) ; A = im read ( ′copyright′, ′bmp′) ; im show (A ) ; title ( ′watermark : A ′) ; subp lot( 2, 2, 2) ; I = im read ( ′lena′, ′bmp ′) ; im show ( I) ; title ( ′origine image: I′) ; BW = edge ( I, ′p rewitt′) ; subp lot( 2, 2, 3) ; im show (BW ) ; title ( ′edge of origine image′) ; subp lot( 2, 2, 4) ; im show (watermarked_image_uint8, [ ] ) ; title ( ′W atermarked Image′) 运行结果 : p snr = 1. 8303e + 003 s = 103 log10 ( p snr) s = 32. 6253 dB

  这里给出一个实例来说明 。 (鉴于篇幅有限只 给出水印嵌入程序 )
k = 2;    % set the gain factor for embeding file_name = ′lena. bmp ′;   % read in the cover object cover_object = double ( im read ( file_name) ) ; Mc = size ( cover_object, 1) ; Nc = size ( cover_object, 2 ) ; % determ ine size of watermarked image file_ name = ′copyright. bmp ′; % read in the message image and re2 shape it into a vector message = double ( im read ( file_name) ) ; Mm = size (message, 1) ; Nm = size (message, 2) ; message_vector = round ( reshape (message,Mm 3 Nm , 1) . /256) ; rand ( ′ state′, 16) ; [ cA1, cH1, cV1, cD1 ] = dwt2 ( cover _ object, ′haar′) ; % perform DW T % add pn sequences to H1 and V1 componants when message = 0 for ( kk = 1: length (message_vector) )
pn_sequence_h = round ( 23 ( rand (Mc /2, Nc /2) - 0. 5 ) ) ; pn_ se2 quence_v = round ( 23 ( rand (Mc /2, Nc /2) - 0. 5) ) ;
if (message ( kk ) = = 0 ) cH1 = cH1 + k 3 pn _ sequence _ h; cV1 = cV1 + k3 pn_sequence_v;
end end watermarked_image = idwt2 ( cA1, cH1, cV1, cD1, ′haar′, [Mc,Nc ] ) ;

图 2 MATLAB 仿真试验结果
显然 ,MATLAB 实现数字水印所需编程比较简 练 ,并能给出可视化结果 ,说明适合选用 MATLAB 来解决水印算法实现问题 。
4  结论
本文着重探讨了 MATLAB 在数字水印实现中 的运用 ,并详细介绍了水印置乱处理 、水印嵌入的 MATLAB 实现仿真结果 。旨在通过试验说明 MAT2 LAB 在解决数字水印问题中发挥的重要作用 ,同时 也体现出其以下优点 。

15期

梁  欣 ,等 : MATLAB在图像数字水印技术研究中的运用

22 67

(1) MATLAB提供了图像处理工具箱、小波分析 工具箱、数字信号处理工具箱 ,集成的丰富的 DCT、 DW T等图像处理函数 ,使源程序简洁明了、易于实现。 使用 MATLAB 来编制跨数字图像处理技术、数字信号 处理等多学科的数字水印技术是非常好的选择 [7] 。
(2) MATLAB 具备强大的数学运算功能 ,并与 目前最强大的编程工具 ———V isual C + +具有良好 的接口 [ 7 ] 。
但 MATLAB也不是十全十美的 ,例如由于它是 解释性语言 ,所以其执行速度并不是很理想 [8 ] ,在编 程时需要使用一些技巧和经验来尽量获得好的性能 。
参  考  文  献
1 丁 玮 ,闫伟齐 ,齐东旭. 基于 A rnold变换的数字图像置乱技术.

计算机辅助设计与图形学学报 , 2001, 13 (4) : 338—341 2 许红山. 置乱技术在信息隐藏中的应用. 广州大学学报 (自然科
学版 ) , 2004; 3 ( 2) : 134—136 3 高守平. 数字图像的置乱技术. 彬州师 范高等 专科学 校学报 ,
2002; 23 ( 2) : 69—73 4 李晓梦. 基于静态图像的数字水印技术研究. 西北工业大学硕士
学位论文. (内部资料 ) , 2004年 3月 5 王文君. 基于小波包的遥感图像半脆弱性数字水印. 燕山大学硕
士学位论文. (内部资料 ) , 2004年 3月 6 刘建华 ,李  燕 ,张昌年. 数字图像置乱技术及 Matlab实现. 桂林
航天工业高等专科学校学报 , 2002; (4) : 9—12 7 马  苗 ,田红鹏 ,郝重阳. 一种高效的数字水印研究工具 % % MA2
TALB. 信息与控制 , 2002; 31 ( 5) : 461—465 8 董长虹 ,赖至国 ,余啸海. Matlab 图像处理与应用. 北京 : 国防工
业出版社 , 2004, 24—25

Applica tion of MATLAB in the D ig ita l W a termark Techn ica l Research of P icture

L IAN G Xin, TAN Yuehui3 , ZHAN G Junp ing, L IU Kai1
( Computer Teaching and Researching Section, O rdnance Engineering College, Shijiazhuang 050003; Xi’an satellite control center1 , Xian 710038)
[ Abstract]  The basic image p rocessing functions related to MATLAB , which com es down to waterm ark technolo2 gy is im troduuced1The app lication of MATLAB in the watermark p retreatment and the course of imbedding water2 mark are studied . Finally the examp le and experimental result are p rovided. [ Key words]  digital waterm arking  MATLAB   orderless technology  discrete wavelet transform
(上接第 2259页 )
Study on the Energy M ethod of Ca lcula ting Fr iction Force

XU Zhongm ing, HUANG Ping
( College of Mechanical Engineering, South China University of Technology, Guangzhou 510640)
[ Abstract]   An energy p rincip le m ethod is used to calculate and research the friction force and friction coeffi2 cient of two flat elastic surfaces. The studies reveal the relationship s between friction coefficient and param eters of a tribo2system. The research suggests that the oscillation of interfacial atom s in the new balance position after jump ing is the key of energy dissipation. W hen the height of an asperity increases in the model, the friction coefficient in2 creases rap idly to a critical value, which is close to the calculation results of Bowden’s adhesion equation. [ Key words]  energy p rincip le  sliding friction  friction coefficient  energy dissipation mechanism


相关文档

MATLAB在图象数字水印技术研究中的应用
MATLAB在音频数字水印技术研究中的应用
Matlab在数字水印技术中的应用
MATLAB在音频数字水印技术研究中的应用
基于Matlab的数字水印技术研究
MATLAB在数字水印技术研究的应用
07Matlab在图像数字水印技术研究中的运用
Matlab与数字水印技术
数字水印技术在图像加密中的应用研究
MATLAB的数字水印技术
电脑版