一直对DCT变换感兴趣,matlab的帮助里查了很多遍,每次想用的时候,生怕理解不全面,使用错了,就先查一遍再使用。
T=dctmtx(N)产生DCT变换矩阵,如果进行二维变换,B=T*A*T',逆变换为A=T'*B*T;
话说二维DCT变换使得能量集中在左上角,它是先进行列变换,再进行行变换;
效果和使用dct2()函数相同,当对多个图像块进行变换时,使用T*A*T'这种方式会更快一些;
当对维数较大的数据块进行处理时,使用dct2()会更快一些。
例3.5 说明二维余弦正反变换在Matlab中的实现。
RGB=imread('autumn.tif');
I=rgb2gray(RGB);
figure(1);
imshow(I);
figure(2);