0

我是 matlab 的新手,我得到了最后一个项目,使用 DWT 和 DCT 组合来制作数字图像隐写术。在这个项目中,我使用 2-L DWT,然后使用 8x8 块 DCT 并使用 DCT 嵌入图像。

这是我的问题:

  1. matlab代码中如何选择LH子带?
  2. 如何在 8x8 块 dct 的封面图像中嵌入图像并逐步说明?
4

2 回答 2

1

Dwt是用于降低图像维度的算法,因此它用于图像压缩,特征提取过程。DWT算法将图像分解为4个子带(subimage),即LL、LH、HL、HH。dwt output 提取输入图像的详细输出。LL 是输入图像的近似图像,它是低频子带,因此用于进一步的分解过程。 LH 子带提取原始图像的水平特征 HL 子带给出垂直特征 HH 子带给出对角线特征

LH,HL,HH 是高频子带

[LL,LH,HL,HH] = DWT2(X,'db5') % x is input image

figure;imshow(LH); % shows LH subband
于 2014-01-07T06:42:03.790 回答
0

2 级 DWT 的工作原理是采用 DWT 一次,然后采用 LL 系数并将另一个 DWT 应用于它们。所以我假设你想要LH2。这是一个示例图像

您正在寻找 2D DWT 的命令是dwt2

cA、cH、cV 和 cD 也分别称为 LL、LH、HL 和 HH。'wname' 是您用于变换的小波。最常见的是,在隐写术中使用最简单的一种,即“haar”或“db1”。

您的第二个问题非常开放,现阶段无法回答。我建议您阅读jpeg 压缩以了解系数是什么,以及一些有关 DCT 隐写术的论文,以了解如何使用它们来隐藏消息。

我将非常简要地总结几点。

  • 一个 8x8 块将返回 8x8 (64) 个系数,这些系数代表组成信号的频率。
  • 左上角是低频,右下角是高频。
  • 因为系数是实数,所以对它们应用量化矩阵以将它们转换为整数。
  • 现在,假设您有一个要隐藏的二进制秘密消息(0110010100010111...),您可以将这些位嵌入到系数中。
  • 最后,取逆 DCT 得到 8x8 stego 块。
于 2014-01-07T12:52:42.020 回答