




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12信息隐藏实验报告 学号: 姓名: 隋子明 报告时间:2012年 4 月 30 日实验一:RGB图像分层及分层加强一:实验目的:(1)了解图像的基本的类型和表示方式。(2)了解索引图像中图像矩阵与调色板的关系。(3)掌握RGB图像分层结构及分层加强的方法。二:实验内容:(1)熟悉并尝试使用Matlab的命令方式和程序方式处理数组及图像。(2)用Matlab对RGB图像分层,并将图像的指定层加强。三:实验过程:1.3.1 索引图像的操作: data,map=imread(c:lenna256.jpg,jpg);%从C盘中读取jpg图像 image(data),colormap(map);%将读取的索引图像显示出来。图1.1 索引图像1.3.2 RGB颜色色谱的分层显示: RGB=reshape(ones(64,1)*reshape(jet(64),1,192),64,64,3); R=RGB(:,:,1); G=RGB(:,:,2); B=RGB(:,:,3); subplot(141),imshow(R),title(红色分量); subplot(142),imshow(G),title(绿色分量); subplot(143),imshow(B),title(蓝色分量);图1.2 RGB颜色色谱的分层显示1.3.3 RGB图像分层显示和指定层的加强:打开Matlab实验环境,在File选项中新建M-Flie。并在M-file中写入操作代码:%将输入的RGB图像分层,并将图像的指定层加强%输入格式举例:【imageRGB,imageR,imageG,imageB,result】=rgbanalysis(c:lenna256.jpg,jpg,1)function imageRGB,imageR,imageG,imageB,result=rgbanalysis(image,permission,level);imageRGB=imread(image,permission);imageRGB=double(imageRGB)/255;result=imageRGB;%对图像进行分层提取imageR=imageRGB(:,:,1);imageG=imageRGB(:,:,2);imageB=imageRGB(:,:,3);%显示结果subplot(321),imshow(imageRGB),title(原始图像);subplot(322),imshow(imageR),title(R层灰度图像);subplot(323),imshow(imageG),title(G层灰度图像);subplot(324),imshow(imageB),title(B层灰度图像);%对相应的层进行颜色加强if level =1 imageR=imageR+0.2;endif level=2 imageG=imageG+0.2;endif level=3 imageB=imageB+0.2;endresult(:,:,1)=imageR;result(:,:,2)=imageG;result(:,:,3)=imageB;imwrite(result,temp.jpg,jpg);result=imread(temp.jpg,jpg);subplot(325),imshow(result),title(色彩增强的结果);在Matlab命令行中输入如下指令: imageRGB,imageR,imageG,imageB,result=rgbanalysis(c:lenna256.jpg,jpg,1);可得到实验结果图:图1.3 RGB分层显示和加强图像四:试验总结:本实验是对RGB图像的分层及强化处理,而MATLAB在处理图像的时候是要将图像化为矩阵来处理,所以,在对图像处理前需要将图像转化为RGB图像矩阵,并分层提取,之后才能进行加强操作。在分层加强层时,R、G、B分别是1、2.、3对应该层。本次实验加深了我们对课本内容的理解,同时加强了我们的学习兴趣,动手对图像进行操作更是从另一方面让我们学习MATLAB知识。实验二:LSB信息隐藏和提取一:实验目的:(1) 深入理解信息隐藏的相关内容,能进行简单的信息隐写和数字水印操作。(2)掌握顺序选择像素点及随机选择像素点,将消息嵌入LSB并提取消息。(3) 掌握相关工具的使用。二:实验内容:(1) 顺序选择像素点将消息嵌入LSB并提取消息。(2) 随机选择像素点将消息嵌入LSB并提取消息。(3) 分析LSB算法的抗攻击能力。三:实验详细过程:2.3.1:顺序选择像素点将消息嵌入LSB并提取消息。新建M-file编写顺序隐藏代码:%函数功能:本函数将完成在LSB上的顺序信息隐秘function ste_cover,len_total=lsbhide(input,file,output)%读入图像矩阵cover=imread(input);ste_cover=cover;ste_cover=double(ste_cover);%将文本文件转换为二进制序列f_id=fopen(file,r);msg,len_total=fread(f_id,ubit1); %判断嵌入消息量是否过大m,n=size(ste_cover);if len_totalm*n error(嵌入消息量过大,请更换图像);end%p作为消息嵌入位数计数器 p=1; for f2=1:n for f1=1:m ste_cover(f1,f2)=ste_cover(f1,f2)-mod(ste_cover(f1,f2),2)+msg(p,1); if p=len_total break; end p=p+1; end if p=len_total break; end endste_cover=uint8(ste_cover);imwrite(ste_cover,output);%显示实验结果 subplot(1,2,1);imshow(cover); title( 原始图像 );subplot(1,2,2);imshow(output);title(隐藏信息的图像);保存后在命令行执行: ste_cover,len_total=lsbhide(lenna512.bmp,1.txt,d.bmp);得到如下对比图像:图2.1 LSB空域信息隐藏后图像与原始图像对比2.3.2:随机选择像素点将消息嵌入LSB并提取消息:新建M-file文件写入代码:%函数功能:本函数将完成随机选择LSB的信息隐秘function ste_cover,len_total=randlsbhide(input,file,output,key)%读入图像矩阵cover=imread(input);ste_cover=cover;ste_cover=double(ste_cover);%将文本文件转换为二进制序列f_id=fopen(file,r);msg,len_total=fread(f_id,ubit1); %判断嵌入消息量是否过大m,n=size(ste_cover);if len_totalm*n error(嵌入消息量过大,请更换图像);end%p作为消息嵌入位数计数器p=1;%调用随机间隔函数选取像素点 row,col=randinterval(ste_cover,len_total,key);%在LSB隐秘消息 for i=1:len_total ste_cover(row(i),col(i)=ste_cover(row(i),col(i)-mod(ste_cover(row(i),col(i),2)+msg(p,1); if p=len_total break; end p=p+1;endste_cover=uint8(ste_cover);imwrite(ste_cover,output);%显示实验结果 subplot(1,2,1);imshow(cover); title( 原始图像 );subplot(1,2,2);imshow(output);title(隐藏信息的图像);在命令行输入如下指令: ste_cover,len_total=randlsbhide(lenna512.bmp,1.txt,hided.bmp,213)得到随机隐藏信息的图像:图3.2随机选择像素点将消息嵌入LSB并提取消息2.3.3: 隐藏信息的提取:前面通过实验已经将秘密信息隐藏在图像中,下面通过实验将隐藏的秘密信息提取出来:新建M-file文件:%函数功能:本函数将完成提取隐秘于LSB上的秘密消息function result=lsbget(output,len_total,goalfile)ste_cover=imread(output);ste_cover=double(ste_cover);%判断嵌入消息量是否过大m,n=size(ste_cover);frr=fopen(goalfile,a);%p作为消息嵌入位数计数器,将消息序列写回文本文件p=1;for f2=1:n for f1=1:m if bitand(ste_cover(f1,f2),1)=1 fwrite(frr,1,bit1); result(p,1)=1; else fwrite(frr,0,bit1); result(p,1)=0; end if p=len_total break; end p=p+1; end if p=len_total break; endendfclose(frr);在命令行执行如下代码:result=lsbget(d.bmp,1736,secret.txt);可得到隐藏信息文件secret.txt,打开原文件对比:图3.3 隐藏信息与提取信息对比在新建随机信息提取文件M-file:%函数功能:本函数将完成提取隐秘于LSB上的秘密消息function result=randlsbget(output,len_total,goalfile,key)ste_cover=imread(output);ste_cover=double(ste_cover);%判断嵌入消息量是否过大m,n=size(ste_cover);frr=fopen(goalfile,a);%p作为消息嵌入位数计数器,将消息序列写回文本文件p=1;%调用随机间隔函数选取像素点 row,col=randinterval(ste_cover,len_total,key);for i=1:len_total if bitand(ste_cover(row(i),col(i),1)=1 fwrite(frr,1,bit1); result(p,1)=1; else fwrite(frr,0,bit1); result(p,1)=0; end if p=len_total break; end p=p+1;endfclose(frr);在命令行执行如下代码:result=randlsbget(hided.jpg,424,secret2.txt,1988)即可得到隐藏的信息共424,(原始隐藏文件是53个字符,对应与2进制正好424)四:实验总结:通过本次实验使我们对图像处理和信息隐藏有了更深的了解。图像在存储的时候是2进制代码形式,所以在本次实验中对信息的隐藏是通过将信息转化为2进制代码,替换到图像的最低有效位中去。另外,本实验对图像和信息数据量都是有要求的,为了能将图像简单处理,实验中用的几乎都是一些特殊大小的图像,隐藏的信息也是有大小限制的,为了能将信息全隐藏进图像,实验用的信息只有424Byte。综合评分:实验三:W-SVD数字水印实验【实验目的】:(1) 了解图像小波变换。(2) 掌握W-SVD数字水印生成、嵌入、检测的方法。(3) 了解数字水印基本模型。(4) 学会stirmark攻击W-SVD的方法。【实验内容】:(请将你实验完成的项目涂“”)实验完成形式: 用MATLAB函数实现W-SVD的三大策略 用MATLAB命令行方式实现实现W-SVD的三大策略 其它:(请注明)实验效果和分析所使用的手段: 结合水印性能分析使用StirMark对水印进行了攻击 结合水印性能分析编写程序绘制了“攻击-健壮性曲线” 结合水印性能分析编写程序绘制了“强度-不可见性曲线” 对W-SVD进行了合谋攻击并给出分析 其它:(请注明)【实验工具及平台】: Windows+Matlab 其它:(请注明) 【实验分析】:1、 请尽量使用曲线图、表等反映你的实验数据及性能2、 对照实验数据从理论上解释原因3、 如无明显必要,请不要大量粘贴实验效果图4、 说明你在以下栏目中分析所使用的方法,给出实验数据,最后总结结论1、水印强度参数对水印鲁棒性的影响:(如果完成了本部分实验请写明你的方法、实验数据及结论)方法是将a分别取0.01,0.05,0.1,0.5得到四张不同的嵌入水印图像(保持其他参数不变),再对这些图像做jpeg压缩,计算出相应的相关值,用matlab编程实现,得到下面四。上面四张图分别是a=0.01,a=0.05,a=0.1,a=0.5,由上面四张图可以看出,水印强度系数a越大,水印鲁棒性越好。实验时d/n=0.99。所以检测的阙值取0.1,随着a的增大,误检率降低。2、水印强度参数对水印不可见性的影响:(如果完成了本部分实验请写明你的方法、实验数据及结论)用均方差来衡量a对水印不可见的影响。用matlab编写plotmse()函数绘图如下:3、水印容量参数d/n对水印鲁棒性的影响:(如果完成了本部分实验请写明你的方法、实验数据及结论)方法是将d/n分别取0.01,0.1,0.3,0.99得到四张不同的嵌入水印图像,再对这些图像做jpg压缩,计算出相应的相关值,画出jpeg攻击-健壮性曲线和种子相关曲线。当d/n=0.6时。要正确测出水印,把检测阙值定为0.8,在它的jpeg攻击-健壮性曲线上可以看出相关性值高于0.8的区域很少,它抗jpeg攻击的能力就很小。当d/n=0.99时,要正确检测出水印,就要把检测阙值定为0.1,在它的jpeg攻击-健壮性曲线上可以看出相关性值高于0.1的区域比较大,它抗jpeg攻击的能力就越强,所以,d/n越接近于1,水印的鲁棒性就越强。4、水印容量参数d/n对水印不可见性的影响(如果完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婚姻破裂财产分割离婚协议书
- 震裕培训考试题及答案
- 休闲农业租赁合同担保与乡村旅游合作协议
- 校园日常安全教育体会
- 离婚赡养费协议书样本与详细支付标准解读
- 工程监理合同延期及施工许可证办理及审批补充协议
- 环保新能源车辆运输合同绿色指标与节能减排要求
- 离婚协议中的子女职业规划与就业支持协议
- 离婚时夫妻共同房产分割及子女抚养权协议
- 浙江高中学考试题卷子及答案
- 熊海虹主编《高等学校研究生英语综合教程-上》课后练习答案
- 人教选择性必修第一册Unit1PeopleofAchievementGrammar导学案
- 高中英语词汇3500词(必背)-excel版
- 初中数学七年级上册《绝对值》说课课件 肖娜
- 地下室防水效果检查记录表
- DDI领导力学习地图
- 顾正田医生:子宫内膜异位症不孕处理
- 城乡规划管理与法规系列讲座城市规划依法行政案例
- 控制论与维纳
- GB/T 12718-2001矿用高强度圆环链
- 舞蹈教学课件第五单元-中外舞蹈名作赏析
评论
0/150
提交评论