




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上实验四 基于DCT域的信息隐藏算法一、 实验目的该实验为验证性实验。目的是通过实验使学生掌握经典信息隐藏算法,在Matlab环境下,编写基于图像DCT域的信息隐藏算法程序。用Matlab函数实现DCT域的信息隐藏及提取,并进行分析。二、 实验要求1、实验前要做好充分准备,包括:复习实验所涉及的知识点,掌握Matlab编程语言和调试环境。2、实验时注意记录实验过程中产生的数据、出现的问题及解决问题的方法。3、理论联系实际,认真分析实验结果,回答思考题。4、实验后完成实验报告(含相关截图,并附打印的程序清单)。三、 实验环境计算机(安装Visual C+ 6.0和Matl
2、ab 6.5以上版本)四、 实验原理隐秘算法核心是将我们选取的像素点的最不重要位依次替换成秘密信息,以达到信息隐秘的目的。在DCT域隐藏的信息处于图像的显著区域,比在时域嵌入信息更具有鲁棒性。五、 实验内容与步骤(1) 完善程序实现在DCT域对隐秘消息的嵌入。%文件名:hidedctadv.m%函数功能:本函数用于DCT域的信息隐藏%输入格式举例:count,msg,data=hidedctadv('lenna.jpg','1.jpg','1.txt',1982,1);%参数说明:%image为载体图象%imagegoal为藏有秘密信息的载体,即
3、隐秘载体%msg为待隐藏的信息%key为密钥,用来控制随机选块%alpha为控制量,用来保证编码的正确性%count为待隐藏信息的长度%result为隐藏结果function count,msg,result=hidedctadv(image,imagegoal,msg,key,alpha)%按位读取秘密信息frr=fopen('1.txt','r');msg,count=fread(frr,'ubit1');fclose(frr);data0=imread('lena.jpg');%将图象矩阵转为double型data0=dou
4、ble(data0)/255;%取图象的一层做隐藏data=data0(:,:,1);%对图象分块T=dctmtx(8);%对分块图象做DCT变换DCTrgb=blkproc(data,8 8,'P1*x*P2',T,T');DCTrgb0=DCTrgb;%产生随机的块选择,确定图像块的首地址row,col=size(DCTrgb);row=floor(row/8);col=floor(col/8);a=zeros(row col);k1,k2=randinterval(a,count,2001);for i=1:count k1(1,i)=(k1(1,i)-1)*8+
5、1; k2(1,i)=(k2(1,i)-1)*8+1;end%信息嵌入temp=0;for i=1:count if msg(i,1)=0 if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2) temp=DCTrgb(k1(i)+4,k2(i)+1); DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2); DCTrgb(k1(i)+3,k2(i)+2)=temp; end else if DCTrgb(k1(i)+4,k2(i)+1)<DCTrgb(k1(i)+3,k2(i)+2) temp
6、=DCTrgb(k1(i)+4,k2(i)+1); DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2); DCTrgb(k1(i)+3,k2(i)+2)=temp; end end if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2) DCTrgb(k1(i)+3,k2(i)+2)=DCTrgb(k1(i)+3,k2(i)+2)-10;%将原本小的系数调整得更小 else DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+4,k2(i)+1)-10; end end%信息写
7、回保存 DCTrgb1=DCTrgb; data=blkproc(DCTrgb,8 8,'P1*x*P2',T',T); result=data0; result(:,:,1)=data; imwrite(result,'1.jpg');(2) 比较信息嵌入前后图像的区别。%文件名:compare.m%函数功能:本函数完成显示隐秘前后两幅图像的区别%输入格式举例:F=compare(blenna.bmp,scover.bmp)%参数说明:%original是原始载体图像%hided是隐秘后的图像%F是差值矩阵function F=compare(orig
8、inal,hided)%读取原始载体图像矩阵W=imread('lena.jpg');imshow(W)%W=double(W)/255;%读取隐秘后图像矩阵E=imread('1.jpg');imshow(E)%E=double(E)/255;%将两图像矩阵相减,显示效果%F=E-W;%注意,MATLAB中矩阵相减只支持double型%imshow(mat2gray(F)(3) 改变alpha值,并对所得结果进行比较分析。%文件名:hidedctadv.m%函数功能:本函数用于DCT域的信息隐藏%输入格式举例:count,msg,data=hidedctadv
9、('lenna.jpg','1.jpg','1.txt',1982,1);%参数说明:%image为载体图象%imagegoal为藏有秘密信息的载体,即隐秘载体%msg为待隐藏的信息%key为密钥,用来控制随机选块%alpha为控制量,用来保证编码的正确性%count为待隐藏信息的长度%result为隐藏结果function count,msg,result=hidedctadv(image,imagegoal,msg,key,alpha)%按位读取秘密信息frr=fopen('1.txt','r');msg,co
10、unt=fread(frr,'ubit1');fclose(frr);data0=imread('lena.jpg');%将图象矩阵转为double型data0=double(data0)/255;%取图象的一层做隐藏data=data0(:,:,1);%对图象分块T=dctmtx(8);%对分块图象做DCT变换DCTrgb=blkproc(data,8 8,'P1*x*P2',T,T');DCTrgb0=DCTrgb;%产生随机的块选择,确定图像块的首地址row,col=size(DCTrgb);row=floor(row/8);col
11、=floor(col/8);a=zeros(row col);k1,k2=randinterval(a,count,2001);for i=1:count k1(1,i)=(k1(1,i)-1)*8+1; k2(1,i)=(k2(1,i)-1)*8+1;end%信息嵌入temp=0;for i=1:count if msg(i,1)=0 if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2) temp=DCTrgb(k1(i)+4,k2(i)+1); DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2
12、); DCTrgb(k1(i)+3,k2(i)+2)=temp; end else if DCTrgb(k1(i)+4,k2(i)+1)<DCTrgb(k1(i)+3,k2(i)+2) temp=DCTrgb(k1(i)+4,k2(i)+1); DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2); DCTrgb(k1(i)+3,k2(i)+2)=temp; end end if DCTrgb(k1(i)+4,k2(i)+1)>DCTrgb(k1(i)+3,k2(i)+2) DCTrgb(k1(i)+3,k2(i)+2)=DCTrgb(k1(i)+3,k2(i)+2)-0.1;%将原本小的系数调整得更小 else DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+4,k2(i)+1)-0.1; end end%信息写回保存 DCTrgb1=DCTrgb; data=blkproc(DCTrgb,8 8,'P1*x*P2',T'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务信息保密及第三方审计协议
- 智能办公系统与办公室装修一体化项目合同
- 收养协议书范本范文
- 卖公司协议书范本
- 研发中心场地租赁保证金技术转移转化协议
- 创业公司财务总监股权分配及风险控制聘用合同
- 河道渣土清运协议书范本
- 美国出口货物货运代理合同范本
- 机场扩建征地拆迁补偿协议书
- 企业并购重组税务处理与咨询服务合同
- 中国传统礼仪全课件
- 新北师大版七年级下册生物教案全册
- 馈线自动化-集中型馈线自动化(配电自动化)
- 《胆肠吻合技术》课件
- 围手术期患者疼痛管理课件
- 2024年度-2025年度XX村第三轮土地延包工作总结
- 2025年江苏新海连发展集团有限公司招聘笔试参考题库含答案解析
- 低碳航空器结构设计-深度研究
- 双重预防机制建设方案
- 2025山东产权交易中心招聘21人易考易错模拟试题(共500题)试卷后附参考答案
- 《煤矿运输系统课件》课件
评论
0/150
提交评论