石家庄铁道学院四 教案纸 35离散余弦变换 维DCT F(u)=aac(u)∑f(x)cos -=0,1,…,N-1 f(x)=a∑ca)F(u)cos (2x+1)ur =0 利用FFT的快速算法 基于代数分解的快速算法 1、利用FFT的快速算法 余弦变换核实际上就是傅里叶变换核的实部。而变换计算中的乘法运算就是x)与变换核的 乘法运算。一种自然的想法就是先对∫x行FFI,然后对其取实部就可以了 2、基于代数分解的快速算法 与FFT类似,利用代数分解的FDCT就是利用余弦函数的周期性以及正弦函数与余弦函数 之间的关系,同时合理安排计算次序来实现的。 f(0) F(0) f(1) c2 F(4)a aS1+bCl f(2) F(2) -aS3+bC3 f(3) f F(0) f1) c+·F(4) f(2) 2F(2) f3) F(6) f4) N。m f5) F(5) f(6) .。FD 以上为n=4和n=8时的FDCT流程图 第1页
石 家 庄 铁 道 学 院 四 方 学 院 教 案 纸 第 1 页 3.5 离散余弦变换 一、一维 DCT 利用 FFT 的快速算法 ⚫ 基于代数分解的快速算法 1、利用 FFT 的快速算法 余弦变换核实际上就是傅里叶变换核的实部。而变换计算中的乘法运算就是 f(x)与变换核的 乘法运算。一种自然的想法就是先对 f(x)执行 FFT,然后对其取实部就可以了 2、基于代数分解的快速算法 与 FFT 类似,利用代数分解的 FDCT 就是利用余弦函数的周期性以及正弦函数与余弦函数 之间的关系,同时合理安排计算次序来实现的。 以上为 n=4 和 n=8 时的 FDCT 流程图 − = + = 1 0 0 2 (2 1) ( ) ( ) ( ) cos N x N x u F u c u f x u = 0,1, ,N −1 − = + = 1 0 1 2 (2 1) ( ) ( ) ( ) cos N u N x u f x c u F u x = 0,1, ,N −1 N 2 01 = = = 1 0 0 2 1 ( ) u u c u
石家庄铁道学胱 教案纸 、二维DCT F(u,v)=ac(u∑∑f(x,y)cos (2x+1)(2y+1)vr f(x,y)=a∑∑c(u)F(u v)cOS 2N-cos +I)vr (2x+1)ur 由于二维离散余弦变换的可分离性,二维DCT可以用一维DCT来实现 三、 Matlab实现 例 RGB= tread(' Image2jpg);%装入真彩图像 imshow(RGB) %显示彩色图像 GRAY=rgb2gray(rGB); %将真彩图像转换为灰度图像 imshow(GRAY) %显示灰度图像 DCT=dct(GRAY; %进行余弦变换 imshow(log( abs(DCT),D);%显示余弦变换 结果 原图像 余弦变换 四、应用 离散余弦变换在图像压缩中具有广泛的应用 例如,在JPEG图像压缩算法中,首先将输入图像划分为8×8的方块,然后对每 个方块执行二维离散余弦变换,最后将变换得到的量化的DCT系数进行编码 和传送,形成压缩后的图像格式。在接受端,将量化的DCT系数进行解码,并 对每个8×8方块进行二维IDCT,最后将操作完成后的块组合成一幅完整的图像。 第2页
石 家 庄 铁 道 学 院 四 方 学 院 教 案 纸 第 2 页 二、二维 DCT 由于二维离散余弦变换的可分离性,二维 DCT 可以用一维 DCT 来实现 三、Matlab 实现 例 RGB=imread('image2.jpg'); %装入真彩图像 figure(1); imshow(RGB); %显示彩色图像 GRAY=rgb2gray(RGB); %将真彩图像转换为灰度图像 figure(2); imshow(GRAY); %显示灰度图像 DCT=dct2(GRAY); %进行余弦变换 figure(3); imshow(log(abs(DCT)),[ ]); %显示余弦变换 结果 四、应用 离散余弦变换在图像压缩中具有广泛的应用 例如,在 JPEG 图像压缩算法中,首先将输入图像划分为 88 的方块,然后对每 一个方块执行二维离散余弦变换,最后将变换得到的量化的 DCT 系数进行编码 和传送,形成压缩后的图像格式。在接受端,将量化的 DCT 系数进行解码,并 对每个 88 方块进行二维 IDCT,最后将操作完成后的块组合成一幅完整的图像。 N y v N x u F u v c u v f x y N x N y 2 (2 1) cos 2 (2 1) ( , ) ( , ) ( , )cos 1 0 1 0 0 + + = − = − = N y v N x u f x y c u v F u v N u N v 2 (2 1) cos 2 (2 1) ( , ) ( , ) ( , ) cos 1 0 1 0 1 + + = − = − = 0 1 2 4 N = = = = = 1 0 1/ 2 0 1/ 2 0 ( , ) uv uv u v u v c u v 且 原图像 余弦变换