В MATLAB есть встроенная функция для DCT.
Вам необходим ящик для инструментов обработки сигналов.Введите 'ver' (без кавычек) в команде MATLAB, чтобы проверить, есть ли она у вас.
Код:
image = image; % define your image
[m,n] = size(image); % get size of your image
imvector = reshape(image, m*n, 1); % reshape your image to a vector to compute DCT
imdct = dct(imvector); % compute DCT
imagedct = reshape(imdct,m,n); \ reshape result back to original form of your image