信息隐藏实验二BMP图像信息隐藏课件.docVIP

信息隐藏实验二BMP图像信息隐藏课件.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息隐藏实验二BMP图像信息隐藏课件

实验二 BMP 图像信息隐藏 实验目的 了解BMP图像文件格式 了解利用BMP图像文件隐藏信息的原理 设计并实现一种基于24位真彩色BMP图像的文件信息隐藏方法。 二,实验环境 1, Windows XP 操作系统 2, Ultra Edit 文本编辑工具 3, Matlab 7.1版本软件 4, BMP格式图片文件 三,实验原理 在图像文件尾部添加任意长度的数据,秘密信息存放在文件尾部可以减少修改文件头的数据量,仅需修改文件头中的文件长度的值即可。 在调色板或者位图信息头和实际的图像数据之间隐藏数据,如果将秘密数据放在文件头与图像数据之间,则至少需要修改文件头中文件长度、数据起始偏移地址这两个域的值。 修改文件头和信息头中保留字段隐藏信息。 在图像像素区利用图像宽度字节必须是4的倍数额特点,在补足位处隐藏数据。 四,实验过程 在实际的图像数据后隐藏信息 (1)将载体baboon.bmp和秘密信息hidden.txt放置在同一目录下,在Windows的MS-DOS方式下执行命令copy baboon.bmp /b + hidden.txt /a baboon1.bmp,如下图所示: 图一 DOS界面 (2)生成的新图像baboon1.bmp,表面上看上去与原图像几乎完全一样 图二 隐藏前后对比图 (3)在Ultra Edit看两幅图像的结构,发现有所差别。 图三 baboon.bmp 图四 baboon1.bmp (4)在Matlab中通过比较文件的实际长度和文件中保存的文件长度,就可以发现该图像是否隐藏秘密信息。代码如下所示: clc; clear; fid=fopen(baboon1.bmp,r);%读入伪装载体图像文件 [a,length]=fread(fid,inf,uint8);%length是文件的实际长度 fclose(fid); fid=fopen(baboon1.bmp,r);%读入伪装载体图像文件 status=fseek(fid,2,bof); fileb=fread(fid,4,uint8); filelength=fileb(1)*1+fileb(2)*256+fileb(3)*256*256+fileb(4)*256^3; %文件图像中保存的文件长度 diff=length-filelength; %diff表示隐藏的信息长度如果相同,表示图像没有隐藏任何信息 fclose(fid); 从Workspace中可以读出diff数据为8 图五 Workspace (5)在Ultra Edit中手动修改文件长度,再运行上述程序,发现diff=0,表示图像隐藏并修改文件长度后,通过该方法无法发现图像有隐藏信息。 文件头与图像数据之间隐藏信息 (1)在数据区开始之前隐藏信息,也就是在54个和55个字节之间隐藏信息。代码如下所示: clc; clear; wm=randsrc(1,300,[0 1]);%产生随机水印 fid=fopen(baboon.bmp,r);%读入载体图像文件 [a,length]=fread(fid,inf,uint8); fclose(fid); msgfid=fopen(hidden.txt,r);%打开秘密文件 [msg,count]=fread(msgfid); fclose(msgfid); wa=a; %a为图像变为uint8类型后的一维矩阵 j=1; wa(11)=54+count;%修改偏移量,其中count为7 wa(3)=wa(3)+count;%修改图像数据的文件长度 for i=55:61 %隐藏7位信息 wa(i)=uint8(msg(j,1));%隐藏密码信息 j=j+1; end for i=55:length wa(i+7)=a(i); end figure; wa=uint8(wa); fid=fopen(watermarked.bmp,wb); fwrite(fid,wa); fclose(fid); subplot(1,2,1);imshow(baboon.bmp);%显示原始图像 subplot(1,2,2);imshow(watermarked.bmp)%显示新图像 (2)从图像看,两幅没有什么区别 图六 隐藏前后对比图 在图像文件头和信息头的保留字段中隐藏信息 BMP图像中第7,8,9,10字节是保留的,必须为0,所以可以在这四个字节中隐藏秘密信息。下面代码即隐藏了0,1,2,3这四个信息。 clc; clear; wm=randsrc(1,300,[0 1]);%产生随机水印 fid=fopen(baboon.bmp,r);%读入载体图像文件 [a,length]=fread(fid,inf

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档