DCT数据隐藏实验报告.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
Central South
University
信息隐藏
实验报告
学院:信息科学与工程学院
班级:信息安全1201
学号:0909121724
姓名:吕秋言
时间:
2015年6月
实验二:离散余弦变换(DCT)算法隐藏信息
一:实验目的:掌握在频率域隐藏信息,在木实验屮采用离散余弦变换(DCT)算法隐藏信
息,同时理解DCT在图像处理屮的应用原理。
二:实验内容:
(1)预备知识:掌握DCT的工作原理
a・二维离散余弦变换■矩阵形式:
正变换:F=DfD#
反变换:f=D,FD
产生DCT 矩阵的MATLAB 函数:D=dctmtx(N);
b.二维DCT变换。
格式:B = dct2 (A)
B = dct2 (A, m, n)
B = dct2 (A, [m n])
说明:B = dct2 (A)i+算A的DCT变换B, A与B的大小相同;B = dct2 (A, m, n) 和B二dct2 (A, [m n])通过对A补0或剪裁,使B的大小为mxrio
c.DCT反变换。
格式:B = idct2 (A)
B = idct2 (A, m, n)
B = idct2 (A, [m n])
d.计算DCT变换矩阵。
格式:D = dctmtx (n)
说明:D = dctmtx (n)返回--个nxn的DCT变换矩阵,输出矩阵D为double类型。
F=DfD*
说明二维余弦正反变换在Matlab中的实现。
■RGB=imread('autumn.tif');
■l=rgb2gray(RGB);
■figure(l);
■imshow(l);
■figure(2);
■J=dct2(l);
■imshow(log(abs(J))4]);
■colormap(jet(64)),colorbar;
■figure(3);
■J(abs(J)<10)=0; ■K=idct2(J)/255; ■imshow(K);
余弦变换后图像为
DCTbhjg
经余弦反变换后恢复后图像为
图3余弦变换系数
说明:DCT变换之后,系数的特点:
从左上角到右下角的,从低频到屮频,再到高频,系数的绝对值逐渐变小,能量集小在低频成分。低频系数体现图像屮日标的轮廓和灰度分布特性,高频系数体现了目标形状的细节。
(2)掌握DCT隐藏信息的处理过程
数字图像水印算法选择二值化灰度图像作为水卬信息,根据水印图像的二值性选择不同的嵌
入系数,并将载体图像进行8X8的分块,将数字水卬的灰度值直接植入到载体灰度图像的
DCT变换域屮,实现水印的嵌入。具体方法如下:
设I是MXN大小的原始图像,J是水印图像大小为PXQ,M和N分别是P和Q的偶数倍,
把水印J加载到图像I屮,算法分以下几步进行: