如何随机直流?

时间:2013-03-15 14:19:56

标签: image-processing block dct ssim

我想在matlab中使用DCT进行图像加扰。我使用了灰度图像。我想用随机值随机dc。如何将每个块的DC系数设置为随机 值0-255并保留所有其他值 - 这些是实验步骤:将灰色图像划分为8x8块;对每个块执行DCT;将每个块的DC系数设置为随机 值0-255并保留所有其他值;执行逆DCT并恢复图像;将恢复的图像与原始图像进行比较 由SSIM。 谢谢

1 个答案:

答案 0 :(得分:1)

问题是“如何将每个块的DC系数设置为(给定)值......”。所以你提到的程序(DCT,设置DC系数,然后是iDCT)应该可行。您将使用Matlab的 dct2 idct2 函数。

然而,根据DCT定义,DC系数是每个块中像素值的总和;将其设置为随机值并进行逆变换将产生一个仅与常数不同的块。这并不奇怪,因为您只是在改变 DC级别。因此,您可以跳过DCT / iDCT并直接向每个块中的所有像素添加或减去随机值。

但是你可以看到每个块看起来都像原始块一样,除了不同的光度;此外,块之间的边界将非常明显,因此加扰方法可以很容易地逆转。