matlab把图片像素进行DCT变换得到DCT系数

版权声明:转载请注明出处 https://blog.csdn.net/sinat_39372048/article/details/82116273

cactus1920*1080的第一帧图

1、对cactus1920*1080的第一帧图进行整个DCT变换

RGB = imread('Cactus_1920x1080_50_0_rgb.bmp');
I = rgb2gray(RGB);
J = dct2(I);

dlmwrite('test.txt', a);
imshow(log(abs(J)),[]),

colormap(jet(64)),

colorbar

2、对cactus1920*1080的第一帧图划分成8*8块大小单独做DCT变换

RGB = imread('Cactus_1920x1080_50_0_rgb.bmp');
I = rgb2gray(RGB);
dlmwrite('dct2.txt', I);

I=im2double(I); 
t=dctmtx(8); 

fun = @(block_struct) ...
   t * (block_struct.data) * t';
y = blockproc(I, [8 8], fun);
figure(1);imshow(log(abs(y)),[]);title('DCT系数'); 
dlmwrite('dct11.txt', y);
imshow(log(abs(y)),[]), colormap(jet(64)), colorbar;

 

具体可以参考https://blog.csdn.net/rachelkong/article/details/54376968 

猜你喜欢

转载自blog.csdn.net/sinat_39372048/article/details/82116273
DCT