《信息隐藏实验报告(共6页).doc》由会员分享,可在线阅读,更多相关《信息隐藏实验报告(共6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上信息隐藏实验报告 实验题目【一】实现空域图像水印方法中的LSB算法:原始图像选取大小为512*512的elain图像或者goldhill图像,选择一个LSB水印算法以及适当的水印序列;利用选定的水印嵌入算法将水印信息嵌入到原始图像中。在嵌入水印之后的图像中提取水印,是否可以判定图像中含有水印,同时计算含水印图像的峰值信噪比。将含有水印的图像缩小为256*256之后,再放大为512*512,这时再提取水印,是否可以判定图像中含有水印。实验结果缩略图:实验程序% LSB 算法:clear;A=imread(elain.bmp);B=A;message=wwws homew
2、ork;m=length(message);n=size(A);k=1;for i=1:n(1) for j=1:n(2) if kT1) mark(i,j)=message(i,j); WaterC(i,j)=double(C(i,j)+a*abs(double(C(i,j)*mark(i,j);elsemark(i,j)=0;WaterC(i,j)=double(C(i,j);end; end;end;%重构图像WaterCH=WaterC(1:length,1:width);WaterCV=WaterC(1:length, width+1:2*width);WaterCD=WaterC(
3、1:length, 2*width+1:3*width);IW= double (idwt2 ( CA, WaterCH, WaterCV, WaterCD, db1);%显示原始图像figure;subplot(1,4,1);image(I);axis(square);title(原始图像);%显示水印图像subplot(1,4,2);image(message);axis(square);title(水印图像);%显示嵌入水印后的图像subplot(1,4,3);imshow(IW/250);axis(square); title(加入水印后的图像);%水印检测newmark=reshap
4、e(mark,M*N,1);%检测阈值T2=120;for j=1:1:N for i=1:1:M if ( WaterC(i,j) T2 ) WaterCX(i,j) = WaterC(i,j); else WaterCX(i,j)=0; end; end;end;%提取水印T3=140;for j=1:1:N for i=1:1:M if ( WaterC(i,j) T3 ) SY(i,j) = IW(i,j); else SY(i,j)=0; end; end;end;%显示提取后的水印的图像subplot(1,4,4);image(SY);axis(square); title(加入水
5、印后的图像);%计算峰峰信噪比PSNR.均方误差MSEfor j=1:1:N for i=1:1:M D=sum(sum(WaterCX(i,j)-WaterC(i,j)2)/M*N; end;end;MSE=DPSNR=10*log10(2552/D)实验总结信息隐藏课的学习过程是个自我探索、自我学习的过程,其中,我不仅学到了专业的知识,也提升了自己的学习能力。虽然开始的时候不知道从何入手,该怎么样达到要求,完成设计,但是经过一步步的摸索和总结,最后总算完成了这次任务。这次基础强化训练主要是让我们学习信息隐藏的有关算法,使用MATLAB软件。这是我第一次接触MATLAB,还好这是门很简单的语言,编程风格非常随意,一个下午的时间就一进能够很熟练的编写大部分程序了。这次课程收获很大,学习信息隐藏的算法和MATLAB编程。编程用去了很多时间,从完全不懂到能进行模拟的程序,其中需要自己学习很多东西,并在很短的时间内融会贯通,考验了自己的学习能力。专心-专注-专业
限制150内