ابتدا برای هر بلوک به صورت زیر dct بگیرید:
I = imread('lenagray.jpg');
I = im2double(I);
T = dctmtx(8);
dct = @(block_struct) T * block_struct.data * T';
B = blockproc(I,[8 8],dct);
figure;
imagesc(B)
سپس هر بلوک را reconstrcut کنید
invdct = @(block_struct) T' * block_struct.data * T;
I2 = blockproc(B,[8 8],invdct);