学习图像离散余弦变换的原理,掌握图像的读取方法,并实现在LCD上显示余弦变换前后的图像。
二、实验原理图像离散余弦变换图像的离散余弦变换广泛用于图像的压缩。对原始图像进行离散余弦变换,变换后DCT系数能量主要集中在左上角,其余大部分系数接近于零,DCT具有适用于图像压缩的特性。将变换后的DCT系数进行门限操作,将小于一定值得系数归零,这就是图像压缩中的量化过程,然后进行逆DCT运算,可以得到压缩后的图像。
离散余弦变换(DCT for Discrete Cosine Transform)是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换(DFT for Discrete Fourier Transform),但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数),在有些变形里面需要将输入或者输出的位置移动半个单位。
对于给定的实际数据序列x( 0 ),X( 1 ),x( 2 )……X(N-1)的DCT算法如下:
其中:
二维离散余弦变换如下:
其逆运算是:
量化量化过程实际上就是对DCT系数的一个优化过程。它是利用了人眼对高频部分不敏感的特性来实现数据的大幅简化。整个过程实际上是简单地把频率领域上每个成份,除以一个对应于该成份的常数,接着四舍五入取最接近的整数。这是整个过程中的主要的运算。以这个结果来说,经常会把很多高频率的成份四舍五入而接近0,且剩下很多会变成小的正或负数。
整个量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因。
因为人眼对亮度信号比对色差信号更敏感,因此使用了下表两种量化表:亮度量化值和色差量化值。
JPEG亮度量化表JPEG色度量化程序流程设计程序流程设计中首先要进行外设使能配置,接着进行LCD管脚复用配置和LCD中断配置,进行LCD显示的初始化,然后读取工程目录下的BMP图像并进行图片的色彩分离,进行DCT和IDCT变换,最后将图像还原并将图像数据显示到LCD上。
图形处理库C6000 图像处理库 (IMGLIB) 是为 C 程序员优化的图像/视频处理函数库。它包括 C 可调用的通用图像/视频处理例程,使用这些例程,可以获得比使用同等标准 ANSI C 语言代码更高的性能。通过提供带有源代码的即用型 DSP 功能,IMGLIB 可以显着缩短应用程序开发时间。提供的功能包括压缩、视频处理、机器视觉和医学成像。本实验中使用的功能是图像压缩和解压,实现正向和反向 DCT。
TMS320C6748处理器使用的是imglib_c64Px_3_1_0_1。
imglib_c64Px_3_1_0_1
将安装到CCS5.5 的安装路径,安装完成后会有相应的文件夹出现。源码所在路径:\imglib_c64Px_3_1_0_1\packages\ti\vlib\src
DCT变换程序使用 IMGLIB 的库来进行DCT变换,调用的程序源码和使用说明可以安装IMGLIB后查看。调用的DCT变换函数中,第一个参数是指向 8x8 DCT 块的指针,第二个参数是DCT块的数量。
IDCT反变换程序使用 IMGLIB 的库来进行IDCT反变换,调用的程序源码和使用说明可以安装IMGLIB后查看。调用的DCT变换函数中,第一个参数是指向 8x8 IDCT 块的指针,第二个参数是IDCT块的数量。
三、操作现象实验设备硬件连接(1)连接仿真器和电脑的USB接口,
(2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。
软件操作导入工程,选择Demo文件夹下的对应工程
编译工程,生成可执行文件
将CCS连接实验箱并加载程序
程序加载完成后点击运行程序
运行程序后,CCS的Console窗口会打印相关信息,同时LCD会显示标题。
稍等片刻后,图像处理完成,LCD会显示原图像、DCT变换图像、IDCT变换图像及还原后的图像。
实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。
文章评论(0条评论)
登录后参与讨论