图像DCT变换编码与压缩(5页).doc
《图像DCT变换编码与压缩(5页).doc》由会员分享,可在线阅读,更多相关《图像DCT变换编码与压缩(5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-图像DCT变换编码与压缩-第 5 页 图像DCT变换编码与压缩一、实验目的:(1)掌握离散余弦变换DCT的实现方法,了解DCT的幅度分布特性,从而加深对DCT变换的认识。(2)掌握图像DCT变换编码的实现方法,从而加深对变换编码压缩图像原理的理解。二、实验内容: 编程实现图像DCT变换编码。三、实验原理:变换编码是在变换域进行图像压缩的一种技术。图1显示了一个典型的变换编码系统。图1 变换编码系统在变换编码系统中,如果正变换采用DCT变换就称为DCT变换编码系统。DCT用于把一幅图像映射为一组变换系数,然后对系数进行量化和编码。对于大多数的正常图像来说,多数系数具有较小的数值且可以被粗略地量
2、化(或者完全抛弃),而产生的图像失真较小。DCT是仅次于K-L变换的次最佳正交变换,且以获得广泛应用,并成为许多图像编码国际标准的核心。离散余弦变换的变换核为余弦函数,计算速度快,有利于图像压缩和其他处理。对于NN的数字图像,二维DCT变换的正反变换可表示为:(1)其中,MATLAB图像处理工具箱实现离散余弦变换有两种方法:(1)使用函数dct2,该函数用一个基于FFT的算法来提高当输入较大的方阵时的计算速度。(2)使用由dctmtx函数返回的DCT变换矩阵,这种方法较适合于较小的输入方阵(例如88或1616)。函数:dct2 实现图像的二维离散余弦变换。调用格式为: B = dct2(A)
3、B = dct2(A,M N) B = dct2(A,M,N)式中A表示要变换的图像,M和N是可选参数,表示填充后的图像矩阵大小,B表示变换后得到的图像矩阵。 函数:dctmtx 除了用dct2函数实现二维离散余弦变换,还可用 dctmtx函数来计算变换矩阵,调用格式为:D = dctmtx(N) 式中D是返回NN的DCT变换矩阵,如果矩阵A是NN方阵,则A的DCT变换可用DAD来计算。这在有时比dct2计算快,特别是对于A很大的情况。 函数:idct2 实现图像的二维离散余弦反变换。调用格式为: B = idct2(A) B = idct2(A,M N) B = idct2(A,M,N)式中
4、参数同dct2。此外,为了实现88子块的DCT图像变换还要用到MATLAB中的blkproc函数。将这个函数和函数dctmtx一起用于块处理可以大大简化运算。调用函数blkproc的格式为:B=blkpro(A,M,N,FUN,P1,P2,)其中,A表示原图像,M,N指定了大小为MN的滑动邻域,FUN是对MN的矩阵进行计算的函数,Pi是传递给FUN的附加参数。该函数自动实现图像块处理的整个过程。Blkproc把A分成MN个块,对每个块调用参数为P1,P2,的函数FUN,并重新将结果组合到输出图像B。blkproc函数实现nn矩阵的DCT变换和反变换。编程中可写成:Y=blkproc(F,8 8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 DCT 变换 编码 压缩
限制150内