首页 理论教育 精讲二维离散余弦变换例程及生成矩阵方法

精讲二维离散余弦变换例程及生成矩阵方法

时间:2023-06-20 理论教育 版权反馈
【摘要】:例程2-14是根据正交变换可分离性编写的二维离散余弦变换的MATLAB实现程序,其核心思想是先对图像矩阵的行进行一次一维余弦变换,再对变换后的矩阵的列进行一次一维余弦变换。例程2-14例程2-15是实现二维离散逆余弦变换的程序。表2-2 MATLAB中DCT变换常用函数表(续)图像的离散余弦变换也可以通过式所示的矩阵变换进行。例程2-16是生成离散余弦变换矩阵的MATLAB源程序。例程2-17是调用dctmtx对图像进行离散余弦变换的实例。例程2-17图2-21 例程2-17的运行结果

精讲二维离散余弦变换例程及生成矩阵方法

例程2-14是根据正交变换可分离性编写的二维离散余弦变换的MATLAB实现程序,其核心思想是先对图像矩阵的行进行一次一维余弦变换,再对变换后的矩阵的列进行一次一维余弦变换。

例程2-14

978-7-111-42352-2-Chapter02-107.jpg

978-7-111-42352-2-Chapter02-108.jpg

例程2-15是实现二维离散逆余弦变换的程序。

例程2-15

978-7-111-42352-2-Chapter02-109.jpg

978-7-111-42352-2-Chapter02-110.jpg

例程2-14和例程2-15的运行过程如图2-20所示,其运行结果如图2-20所示。

978-7-111-42352-2-Chapter02-111.jpg

图2-20 例程运行过程及结果

a)例程2-14、2-15的运行过程 b)例程2-14、2-15的运行结果

在MATLAB中,实现DCT变换的函数为dct,其逆变换的函数为idct。其用法如表2-2所示。

表2-2 MATLAB中DCT变换常用函数表

978-7-111-42352-2-Chapter02-112.jpg(www.xing528.com)

(续)

978-7-111-42352-2-Chapter02-113.jpg

图像的离散余弦变换也可以通过式(2-14)所示的矩阵变换进行。在矩阵变换之前,要先生成离散余弦变换矩阵。例程2-16是生成离散余弦变换矩阵的MATLAB源程序

例程2-16

978-7-111-42352-2-Chapter02-114.jpg

MATLAB图像处理工具箱提供了dctmtx来生成离散余弦矩阵。其调用格式如下。

978-7-111-42352-2-Chapter02-115.jpg

例程2-17是调用dctmtx对图像进行离散余弦变换的实例。其运行结果如图2-21所示。

例程2-17

978-7-111-42352-2-Chapter02-116.jpg

978-7-111-42352-2-Chapter02-117.jpg

978-7-111-42352-2-Chapter02-118.jpg

图2-21 例程2-17的运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈