信息隐藏技术-基于DCT数字图像水印实现.docVIP

  • 45
  • 0
  • 约 5页
  • 2017-02-01 发布于重庆
  • 举报

信息隐藏技术-基于DCT数字图像水印实现.doc

信息隐藏技术-基于DCT数字图像水印实现

`综合评分: 实验三:基于DCT数字图像水印实现 【实验目的】: 1.掌握变换域信息隐藏的基本思想 2.掌握用MATLAB实现图像DCT相关操作 3.实现基于DCT的频域数字水印实验 【实验内容】:(请将你实验完成的项目涂“■”) 实验完成形式: □ 用MATLAB函数实现基于DCT图像数字水印的嵌入和提取 □ 其它:(请注明) 实验选择载体: □ 256×256灰度图像 □ 256×256RGB图像 □ 任意大小的RGB图像 实验效果和分析: □ 完成灰度图像二维DCT变换。 □ 完成灰度图像分块二维DCT变换。 □ 生成一定大小的二值水印图像。 □ 实现了二值水印图像的嵌入。 采用的嵌入方法(请列出): 加法算法 □ 实现了水印图像的非盲提取。 □ 实现了水印图像的盲提取。 □ 能够对嵌入水印后的图像进行质量分析——主观分析。 □ 能够对嵌入水印后的图像进行质量分析——客观分析,即计算出了图像峰值 噪比(PSNR)。 能够对含水印的载体图像进行攻击(缩放resize、jpeg压缩、低通滤波filter2、中值滤波medfilt2等、剪切等),并提取水印。 实验中采用的攻击方法(请列出):低通滤波filter2、中值滤波medfilt2,旋转 □ 能随机选择嵌入位进行信息隐藏及提取(考虑安全性因素) □ 能够计算PSNR,分析信息隐藏图像质量 □ 完成对秘密信息的图像载体进行攻击 实验中采用的攻击方法(请列出): 低通滤波filter2、中值滤波medfilt2,旋转 能够计算出攻击后提取的水印相关系数,对水印的鲁棒性进行分析。 □ 其它:(请注明) 【实验工具及平台】: ■ Windows+Matlab7.0 【实验涉及到的相关算法】: 基于DCT的数字图像非盲水印嵌入和提取算法描述(画流程图说明)。 嵌入: 在选出的中频系数中叠加秘密信息: x(i,j): DCT系数 x’(i,j): 隐藏后的DCT系数 m: 第 i 个秘密信息比特 a: 可调参数,控制嵌入强度 提取: 在约定的中频系数中提取信息 x’’(i,j):接收端收到图像的对应中频系数 提取出的隐藏信息需要原始图像 m’i: 提取出的隐藏信息需要原始图像 特点: 每个系数上嵌入的强度相同 嵌入强度一定时: 系数很大时,嵌入信息易受破坏 系数很小时,对系数修改大 完成灰度图像分块二维DCT变换。 c=imread(pic_1.bmp);%读取灰度图像 c=double(c)/255; %将原灰度图像转换为0/1 DCTmatrix=dct2(c); %使用函数dct2实现的离散余弦变换,针对于二维矩阵 T=dctmtx(8); %生成一个8*8的离散余弦变换矩阵 DCTc=blkproc(c,[8 8],P1*x*P2,T,T);%分块离散余弦矩阵 图一为原始载体图像,图二为实现的离散余弦变换的载体,图三为分块的离散余弦变换的载体 取一定大小的二值图像作为水印。(建议:选择载体图像256*256,水印图像大小32*32) %把水印图像大小变为32*32的 m=imread(baoqing.bmp);%读入水印 m1=im2bw(m); %把水印转换为二值的 m2=imcrop(m1,[10,10,31,31]); %把水印图像大小变为32*32的 水印图像 选取恰当的DCT系数进行水印嵌入(采用加法水印或者乘法水印算法)。 n=0; %表示载体图像的行数,总共有256行 m=0; %表示载体图像的列数,总共有256列 for i=1:32 %表示水印的行数,总共有32行 for j=1:32 %表示载体图像的列数,总共有32列 n=4+(i-1)*8; %把水印的每一个像素点嵌入载体图的每一个8*8块的中心像素点 m=5+(j-1)*8; DCTc(n,m)=DCTc(n,m)+0.0047*m2(i,j); end end

文档评论(0)

1亿VIP精品文档

相关文档