二值图像信息隐藏算法与提取_第1页
二值图像信息隐藏算法与提取_第2页
二值图像信息隐藏算法与提取_第3页
二值图像信息隐藏算法与提取_第4页
二值图像信息隐藏算法与提取_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二值图像信息隐藏算法与提取 姓名: 牛伟豪 学号: 201115030219 班级: 通信111502二值图像信息隐藏算法与提取摘要:为了达到较好的隐藏效果,本文采用游程编码的方法在二值图像中隐藏信息。秘密信息嵌入时修改二值图像的游程长度,如果秘密信息为是0,则修改该游程长度为偶数;如果秘密信息的取值与游程长度的奇偶性相匹配,则不改变游程长度。提取时根据游程长度奇偶性提取出秘密信息。在信息隐藏时,改变游程的奇偶性时通过对下一个游程的第一个像素值进行修改,因此当下一个游程长度为1时通过改变当前有成的值实现。关键词:二值图像,游程编码,信息隐藏 Binary image information h

2、iding algorithmAbstract: In order to achieve a better hiding effect, we use run-length coding method to hide information in the binary image. Modify the binary image embedding secret information when the run length, if secret information is 0, then modify the run length is an even number; If the par

3、ity value and the run length of the phase-matching secret information, do not change the run length. According to the run length to extract the secret parity information extraction. When information hiding, changing the parity of the run time of the first pixel value of the next run is modified by,

4、so a run length of the current by changing a value of the current successful implementation.Keywords: Binary image, Run-length coding, Information hiding.1. 引言 信息隐藏就是把重要的信息秘密的隐藏在公开的载体上。信息的嵌入会改变原始图像的特征。数字图像是目前信息的主要载体,二值图像是其中特殊的图像,图像只有黑色和白色两种表示。近年来,国内外对二值图像的信息隐藏进行了很多的研究,并取得了许多成就。 Zhao和Koch提出了一个信息隐藏方案,

5、他们使用一个特定的图像区域中黑像素的个数来编码秘密信息。把一个二值图像分成矩形图像区域分别令和为黑白像素在图像块中所占的百分比。基本做法是,若某块,则嵌入一个1,若,则嵌入一个0.在嵌入的过程中,为达到希望的像素关系,需要修改一些颜色。修改是在那些邻近像素有相反的颜色的像素中进行的;在具有鲜明对比性的二值图像中,应该对黑白像素的边界进行修改。 Matsui和Tanaka提出的方案,它在传真图像中使用无损压缩系统来对信息编码。根据以前的CCITT建议,传真图像能用游程(RL)编码和哈夫曼编码进行混合编码。图1.1显示了传真文档中的一个扫描行,我们用指出改变颜色的位置。RL方法不再显示地对第一个像

6、素颜色进行编码,而是对颜色变化的位置和从开始的持续同种颜色的像素个数进行编码。我们假定的扫描行如图1.1所示,可编码为,从而我们能用一个RL元序列来描述一个二值图像。通过修改的最低位,可以再一个二值的游程编码图像中嵌入信息。 图1.1 2. 文献简介文献1针对二值图像仅有两种颜色,对像素修改敏感的特点,提出了一种基于行程编码的二值图像数字隐写算法。将原始图像划分成子块,并以zigzag扫描的顺序对块内像素进行行程编码,通过修改较大的行程来嵌入信息。修改行程时采用行程拆分与合并策略,并考虑对应像素的“可翻转度”。针对二值图像仅有两种颜色,对像素修改敏感的特点,提出了一种基于行程编码的二值图像数字

7、隐写算法。将原始图像划分成子块,并以zigzag扫描的顺序对块内像素进行行程编码,通过修改较大的行程来嵌入信息。修改行程时采用行程拆分与合并策略,并考虑对应像素的可翻转度。同时,秘密信息嵌入时利用纠错码数字隐写的原理,通过使用共享密钥来进一步增强算法的安全性。分块嵌入时通过块中心像素点的跳变嵌入信息,就是二值图像中一些点有黑变白,由白变黑。文献2对于二值图像的隐写选择了像素翻转后失真最小的像素位置文献3将整幅图像分成M个图像块,再将每个图像块重叠地分为4个的子块,根据每个图像块的特征值R以及块中具有相同邻域的像素的数目W来判断该图像块的最佳可隐藏性。文献4通过修改文本图像字符边缘非平滑部分的像

8、素值来隐藏信息,它把边缘分成100对5像素长度的模型,通过增加或者删除一个边缘像素来嵌入信息。文献5提出一种基于二值图像分块粗糙度分析的检测算法,该算法与基于黑白像素边缘复杂度、基于图像分块噪声分析等方法相近,都是统计图像块中的特性。文献6设计了一种通用的二值图像隐写分析方法,既能够成功的检测分块跳转中心像素的隐写术,对分块非跳转中心像素的隐写术的检测率也很高。文献7文献8是对二值图像隐写分析的成果。文献8提出可利用形态学滤波将待检测图像降噪处理,通过比较待检测图像滤波前后的差异即可完成检测,并根据该差异的大小进一步进行嵌入量估计。3. 算法简介 本文采用的是基于游程编码的二值图像隐写,秘密信

9、息嵌入时修改二值图像的游程长度,如果秘密信息位是0,则修改该游程长度为偶数;如果为1,则修改游程长度为奇数;如果秘密信息的取值与游程长度的奇偶性相匹配则不改变游程长度。提取时根据游程长度奇偶性提取出秘密信息。3.1 RLEhid.m隐藏函数clc;clear allI=imread(swjtu.bmp);if(length(size(I)=3) I=rgb2gray(I);endrow,col=size(I);Ibw=im2bw(I);oi=Ibw(:);len=size(oi);i=1;j=1;while ilen(1) or=oi(i); count=1; while (ilen(1)&o

10、i(i+1,1)=or) i=i+1; count=count+1; end RLE(j)=count;%RLE为游程 j=j+1; i=i+1;endif i=len(1) RLE(j)=1;end RLE=RLE;msgfid=fopen(hidden.txt,r);msg,msgcount=fread(msgfid);fclose(msgfid);msg=uint8(dec2bin(msg)-48);htxt,ltxt=size(msg);mmsg=zeros(htxt,8);if(ltxt8) n=8-ltxt; mm=zeros(htxt,n); for i=1:htxt mmsg(

11、i,:)=mm(i,:),msg(i,:); endendmsg=mmsg;msgcount=msgcount*8;for l=1:msgcount modpoint=0; for x=1:2*l modpoint=modpoint+RLE(x,1); end if msg(l)=0 if (mod(RLE(2*l),2)=0)&(RLE(2*l+1)=1) oi(modpoint+1,1)=mod(oi(modpoint+1,1)+1),2); else if (mod(RLE(2*l),2)=0)&(RLE(2*l+1)=1)&(RLE(2*l)=1) oi(modpoint,1)=mod

12、(oi(modpoint,1)+1),2); end end else if (mod(RLE(2*l),2)=0)&(RLE(2*l+1)=1) oi(modpoint+1,1)=mod(oi(modpoint+1,1)+1),2); else if (mod(RLE(2*l),2)=0)&(RLE(2*l+1)=1)&(RLE(2*l)=1) oi(modpoint,1)=mod(oi(modpoint,1)+1),2); end end endendm1=Vector2Matrix(oi,row);m1=m1;imwrite(m1,marked.bmp);figuresubplot(1,

13、2,1);imshow(Ibw);title(原始二值图像);subplot(1,2,2);imshow(marked.bmp);title(加密后的图像);3.2 RLEext.m提取函数clc;clear all;oi=imread(marked.bmp);%打开携密图像row col =size(oi);oi=oi(:);len=size(oi);i=1;j=1;while (i len(1) or=oi(i); count=1; while(ilen(1)&oi(i+1)=or) i=i+1; count=count+1; end RLE(j)=count;j=j+1;i=i+1;en

14、dif i=len(1) RLE(j)=1;endRLE=RLE;msgcount=96; %必须知道水印的长度for i=1:msgcount msg(i,1)=0;endfor l=1:msgcountif mod(RLE(2*l),1),2)=0 msg(l,1)=0 %如果游程的值为偶数,表示隐藏的信息为0else msg(l,1)=1 %如果游程的值为奇数,表示隐藏的信息为1endend;ot=Vector2Matrix(msg,msgcount/8);out=bit2str(ot);fid=fopen(message.txt,wt);fwrite(fid,out)fclose(fi

15、d);4.仿真分析4.1仿真结果 图4.1是测试结果1,图4.1(a)是加密前的二值图像,图4.1(b)是加密后的二值图像。图4.2中hidden2.txt中是加密信息,图4.2中message2.txt中是提取后的信息。 图b 图a 图4.1 图4.24.2结果分析 二值图像信息隐藏的游程编码方法是通过修改黑白边界处的像素块来实现信息的隐藏,在一些像素分布比较集中的地方信息隐藏后的图片比较明显,比如图4.1,通过与原始图像的对比,在黑白交界处可以明显的观察到图像块的像素的改变。但是在像素黑白分布均匀,在进过修改后的图像经过和原始图像对比,是几乎观察不到变化的,比如图4.3。5.结论数字图像是

16、目前信息的主要载体,二值图像是其中特殊的图像,图像只有黑色和白色两种表示,因此在二值图像的研究中取得了许多的成就。其中最具代表性的是Zhao和Koch以及 Matsui和Tanaka提出的2种方案。本文采用Matsui和Tanaka提出的方案,在此方案上做了一些变化。Matsui和Tanaka的方案中在信息隐藏时,改变游程的奇偶性是通过下一个游程的第一个像素值进行修改,因此当下一个游程的值为1时不能修改。本文是当当前的游程值大于1时通过修改当前游程来解决这一问题。通过这次对算法的实现进一步增强自己的学习能力,并巩固了课堂上学过的内容。但同时隐写算法也在不断的改进,对于隐写术工具的安全评估策略、

17、标准与方法也正在研究之中,隐写术的分析与反分析正成为信息安全届研究的热点,了解相关知识为以后工作学习做铺垫。并从中学会了阅读他人文献的方法,为以后自己的提升打基础。参考文献:1徐长勇,平西建,刘翠卿.基于行程编码的二值图像数字隐写算法J.数据采集与处理,2009,062刘春庆, 戴跃伟, 王执锉.一种新的二值图像信息隐藏方案J.东南大学学报, 2003, 33:98-1013Steinfeld R, Bu L, Wang Huaxiong.Universal Designatedverifier SignaturesJ.Proc of Advances in Cryptology, 2003,(1):63-68 4Araki S, Uehara S, Imamura K.The Limited Verifier Signature and Its Application J.IEICE Trans on Fundamentals, 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论