我的尺寸为512x512的灰度图像。我想将矩阵转换为dct,所以这就是我所做的。
场景1:将DCT应用于整个图像
img = imread('cameraman.tif');
img_dct = dct2(img);
场景2:将DCT应用于原始图像的第一个8x8块
img2 = imread('cameraman.tif);
img_block = img2(1:8, 1:8);
img_block_dct = dct2(img_block);
现在,有趣的一点(或者我做错了)
当我显示img_dct(1:8, 1:8)
和img_block_dct
时,我得到两个非常不同的8x8矩阵。难道这两者完全不一样,还是我错了?
答案 0 :(得分:0)
不一样。通过DCT2
等式,DCT
系数取决于图像的大小。如果你明确阻止M=8
N=8
,那么它将是图像的大小。