matlab信息隐藏算法,实验四--基于DCT域的信息隐藏算法
《实验四--基于DCT域的信息隐藏算法》由会员分享,可在线阅读,更多相关《实验四--基于DCT域的信息隐藏算法(6页珍藏版)》请在人人文库网上搜索。
1、实验四 基于DCT域的信息隐藏算法一、 实验目的该实验为验证性实验。目的是通过实验使学生掌握经典信息隐藏算法,在Matlab环境下,编写基于图像DCT域的信息隐藏算法程序。用Matlab函数实现DCT域的信息隐藏及提取,并进行分析。二、 实验要求1、实验前要做好充分准备,包括:复习实验所涉及的知识点,掌握Matlab编程语言和调试环境。2、实验时注意记录实验过程中产生的数据、出现的问题及解决问题的方法。3、理论联系实际,认真分析实验结果,回答思考题。4、实验后完成实验报告(含相关截图,并附打印的程序清单)。三、 实验环境计算机(安装Visual C+ 6.0和Matlab 6.5以上版本)四、。
2、 实验原理隐秘算法核心是将我们选取的像素点的最不重要位依次替换成秘密信息,以达到信息隐秘的目的。在DCT域隐藏的信息处于图像的显著区域,比在时域嵌入信息更具有鲁棒性。五、 实验内容与步骤(1) 完善程序实现在DCT域对隐秘消息的嵌入。%文件名:hidedctadv.m%函数功能:本函数用于DCT域的信息隐藏%输入格式举例:count,msg,data=hidedctadv(lenna.jpg,1.jpg,1.txt,1982,1);%参数说明:%image为载体图象%imagegoal为藏有秘密信息的载体,即隐秘载体%msg为待隐藏的信息%key为密钥,用来控制随机选块%alpha为控制量,用。
3、来保证编码的正确性%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=double(data0)/255;%取图象的一层做隐藏data=data0(:,:,1);%对图象分块T=dctmtx(8);%对分块图象做DCT变换DCTrgb=blk。
4、proc(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:countk1(1,i)=(k1(1,i)-1)*8+1;k2(1,i)=(k2(1,i)-1)*8+1;end%信息嵌入temp=0;for i=1:countif msg(i,1)=0 if DCTrgb(k1(i)+4,k2(i)+1)DCTrg。
5、b(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; endelseif 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;%将原本小的系数调整得更小elseDCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+4,k2(i)+1)-10。
6、;end end%信息写回保存 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(original,hided)%读取原始载。
7、体图像矩阵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(lenna.jpg,1.jpg,1.txt,1982,1);%参数说明:。
8、%image为载体图象%imagegoal为藏有秘密信息的载体,即隐秘载体%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=double(dat。
9、a0)/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:countk1(1,i)=(k1(1,i)-1)*8+1;k2(1,i)=(k2(1,i)-1)*8。
10、+1;end%信息嵌入temp=0;for i=1:countif 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; endelseif 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(。
11、i)+2)-0.1;%将原本小的系数调整得更小elseDCTrgb(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,T);result=data0;result(:,:,1)=data;imwrite(result,2.jpg);六、 实验小结通过实验,我掌握了经典信息隐藏算法,即在Matlab环境下,编写基于图像DCT域的信息隐藏算法程序。用Matlab函数实现DCT域的信息隐藏及提取,并进行分析。通过该次试验,我更熟悉了经典信息隐藏的算法,更能熟练的运用了。- 9。
matlab信息隐藏算法,实验四--基于DCT域的信息隐藏算法相关推荐
- 基于DCT域的数字水印算法研究与应用
基于DCT域的数字水印算法研究与应用 目录 摘要 1 一.数字水印技术的概述 2 1.1数字水印的概述 2 二.可实现数字水印技术的实用工具--Matlab 3 2.1概述 3 2.2算法中常用的Ma ...
- 基于空间域的信息隐藏关键技术研究
实践题目:基于空间域的信息隐藏关键技术研究 目标是实现对320x240的灰度图像(样本自选,不能是lena图像)进行信息隐藏设计,应用空间域信息隐藏方法(例如LSB替换方法等)进行实验测试.对上述技术 ...
- 一种基于加密域的数字图像水印算法的设计与实现(附Matlab源码)
一种基于加密域的数字图像水印算法的设计与实现 项目介绍 毕设项目 题目:一种基于加密域的数字图像水印算法的设计与实现 随着数字媒体技术的发展,数字媒体版权的保护得到了越来越多人的重视,数字水印技术作为 ...
- 【数据库实验】实验四 基于嵌入SQL的综合应用编程(基于QSqlTableModel实现)
[数据库实验]实验四 基于嵌入SQL的综合应用编程 一.实验目的 二.实验要求 三.实验内容.实验结果与主要程序代码 数据准备(建表并插入数据) 前言:黎哥的写法 参考 建表 SQL语言插入数据 S表 ...
- 实验四 手写数字识别的神经网络算法设计与实现
实验四 手写数字识别的神经网络算法设计与实现 一.实验目的 通过学习BP神经网络技术,对手写数字进行识别,基于结构的识别法及模板匹配法来提高识别率. 二.实验器材 PC机 matlab软件 三.实验内 ...
- 模式识别 实验四 手写数字识别的神经网络算法设计与实现
实验四 手写数字识别的神经网络算法设计与实现 一.实验目的 通过学习BP神经网络技术,对手写数字进行识别,基于结构的识别法及模板匹配法来提高识别率. 二.实验器材 PC机 matlab软件 三.实验内 ...
- 实验四 基于PPTP的远程VPN实现【网络安全】
实验四 基于PPTP的远程VPN实现[网络安全] 前言 推荐 实验四 基于PPTP的远程VPN实现 使用: 配置CentOS PPTP服务端 配置CentOS PPTP客户端 常见问题 浏览器无法打开 ...
- 【图像融合】基于DCT域实现多焦点图像融合含Matlab源码
1 内容介绍 在诸如无线视觉传感器网络(wireless visual sensor networks, WVSN)中,多个空间位置相邻的传感摄像头监测同一场景时将获得多幅图像或多个视频序列,但这些图 ...
- mpeg b帧 编码 matlab,一种基于压缩域的镜头检测算法
文章编号: 1673- 5196( 2008) 06- 0097- 05 一种基于压缩域的镜头检测算法 摘要: 针对传统的非压缩域镜头检测算法数据量大.运算量大和效率低的缺点, 提出一种基于压缩域的镜 ...
最新文章
- 使用信号量实现进程间同步
- Struts2返回JSON数据的具体应用范…
- DataGrid中添加背景
- Laravel日志查看器 -- log-viewer扩展
- nodejs服务后台持续运行
- 小程序引入的echarts过大如何解决_智慧虎超:为服装行业带来3倍收益?小程序如何解决销售难题?...
- keybd_event、SendInput笔记
- Puppet基础篇7-编写第一个完整测试模块puppet
- flask-mail异步发送邮件_Spring Boot与异步任务、定时任务、邮件任务
- 毕设题目:Matlab图像评价
- 截止11月5日,30日内累计跌幅最大的200只股票
- 基于MFC的字符生产与旋转算法实现
- 多元思维模型——全学科及其核心思维模型
- html 鼠标划过 ie导致白屏,win7系统IE浏览器网页出现白屏的解决方法
- Summery about show input info bar of MTK
- 用vue3.0.1如何搭建仿京东的电商H5项目呢?本文实战教你
- 哈工大读研和找工作心得
- 数学之美读书感悟02
- 每周一文(二)阿里TDM模型
- 学习ES6 The Dope Way Part I:const,let&var