《图像的离散余弦变换DCTppt课件.ppt》由会员分享,可在线阅读,更多相关《图像的离散余弦变换DCTppt课件.ppt(11页珍藏版)》请在三一办公上搜索。
1、,图像的离散余弦变换(DCT),二维离散余弦变换-数学公式,二维离散余弦变换为 二维离散余弦反变换为,二维离散余弦变换-矩阵形式,矩阵形式正变换:F=DfD反变换:f=DFD产生DCT矩阵的MATLAB函数:D=dctmtx(N);,图像DCT的Matlab实现,1. dct2函数 功能:二维DCT变换。 格式:B = dct2 (A) B = dct2 (A, m, n) B = dct2 (A, m n) 说明:B = dct2 (A)计算A的DCT变换B,A与B的大小相同;B = dct2 (A, m, n)和B = dct2 (A, m n)通过对A补0或剪裁,使B的大小为mn。,离散
2、余弦变换的Matlab实现,2. idct2函数功能:DCT反变换。格式:B = idct2 (A)B = idct2 (A, m, n)B = idct2 (A, m n),离散余弦变换的Matlab实现,3. dctmtx函数功能:计算DCT变换矩阵。格式:D = dctmtx (n)说明:D = dctmtx (n)返回一个nn的DCT变换矩阵,输出矩阵D 为double类型。F=DfD,离散余弦变换的Matlab实现,例3.5 说明二维余弦正反变换在Matlab中的实现。RGB=imread(autumn.tif);I=rgb2gray(RGB);figure(1);imshow(I)
3、;figure(2);J=dct2(I);imshow(log(abs(J),);colormap(jet(64),colorbar; %彩色图表示figure(3);J(abs(J)10)=0; %保留系数大于10的值K=idct2(J)/255;imshow(K);,离散余弦变换的Matlab实现,图3.12原始图像 图3.13余弦变换系数 图3.14余弦反变换恢复图像,离散余弦变换的一个重要应用-图像压缩,DCT变换之后,系数的特点: 从左上角到右下角的,从低频到中频,再到高频,系数的绝对值逐渐变小,能量集中在低频成分。 低频系数体现图像中目标的轮廓和灰度分布特性,高频系数体现了目标形状
4、的细节。,离散余弦变换的一个重要应用-数据压缩,例:DCT作图像压缩I=imread(cameraman.tif);I1=double(I)/255;T=dctmtx(8);B=blkproc(I1,8 8,P1*x*P2,T,T);mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; B2=blkproc(B,8 8,P1.*x,mask); I2=blkproc(B2,8 8,P1*x*P2,T,T); imshow(I1),figure,imshow(I2);figure,imshow(mat2gray(I1-I2),),