Advertisement

离散余弦变换matlab

阅读量:

自始至终关注着DCT变换的发展与应用。在Matlab的帮助文档中反复查阅资料。每当需要用到的时候,总是会在操作前仔细核对后再进行操作,以确保彻底理解并正确应用。

T=dctmtx(N)产生DCT变换矩阵,如果进行二维变换,B=TAT',逆变换为A=T'BT;

二维DCT变换使能量分布于左上角区域,并且是通过先对列向量进行正交变换,然后再对行向量实施同样的过程来完成的。

运算效果与dct2()函数等价,在对多个图像块进行变换的过程中,采用TAT'的方式能够显著提升计算速度。

当对维数较大的数据块进行处理时,使用dct2()会更快一些。

例3.5 说明二维余弦正反变换在Matlab中的实现。

RGB=imread('autumn.tif');

I=rgb2gray(RGB);

figure(1);

imshow(I);

figure(2);

J=dct2(I);

imshow(log(abs(J)),[]);

colormap(jet(64)),colorbar;

figure(3);

J(abs(J)<10)=0;

K=idct2 (J)

/255;

imshow(K);

全部评论 (0)

还没有任何评论哟~