实验二BMP图像信息隐藏一,实验目的1,了解BMP图像文件格式2,了解利用BMP图像文件隐藏信息的原理3,设计并实现一种基于24位真彩色BMP图像的文件信息隐藏方法
二,实验环境1,WindowsXP操作系统2,UltraEdit文本编辑工具3,Matlab7
1版本软件4,BMP格式图片文件三,实验原理1,在图像文件尾部添加任意长度的数据,秘密信息存放在文件尾部可以减少修改文件头的数据量,仅需修改文件头中的文件长度的值即可
2,在调色板或者位图信息头和实际的图像数据之间隐藏数据,如果将秘密数据放在文件头与图像数据之间,则至少需要修改文件头中文件长度、数据起始偏移地址这两个域的值
3,修改文件头和信息头中保留字段隐藏信息
4,在图像像素区利用图像宽度字节必须是4的倍数额特点,在补足位处隐藏数据
四,实验过程1,在实际的图像数据后隐藏信息(1)将载体baboon
bmp和秘密信息hidden
txt放置在同一目录下,在Windows的MS-DOS方式下执行命令copybaboon
bmp/b+hidden
txt/ababoon1
bmp,如下图所示:图一DOS界面(2)生成的新图像baboon1
bmp,表面上看上去与原图像几乎完全一样图二隐藏前后对比图(3)在UltraEdit看两幅图像的结构,发现有所差别
图三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');%读入伪装载体图像文件st