3.2基于DCT图像压缩编码的MATLAB实现的流程
DCT变换是数字图像处理中重要的变换,很多重要的图像算法、图像应用都是基于DCT变换的,如JPEG图像编码方式。对于大尺寸的二维数值矩阵,倘若采用普通的DCT变换来进行,其所花费的时间将是让人难以忍受甚至无法达到实用。而要克服这一难点,DCT变换的快速算法是比较好的选择。
就目前而言,DCT变换的快速算法无非有以下两种方式:
(1)由于FFT算法的普便采用,直接利用FFT来实现DCT变换的快速算法相比来说就相对容易。但是此种方法也有不足:计算过程会涉及到复数的运算。由于DCT变换前后的数据都是实数,计算过程中引入复数,而一对复数的加法相当于两对实数的加法,一对复数的乘法相当于四对实数的乘法和两对实数的加法,显然是增加了运算量,也给硬件存储提出了更高的要求。
(2)直接在实数域进行DCT快速变换。显然,这种方法相比于前一种而言,计算量和硬件要求都要优于前者。
输入图片;分成8*8的像素块,进行DCT变换;输入量化表,对变换系数量化;对量化系数进行扫描;选择一幅图对其进行不同的压缩比变换;反量化;反DCT变换;显示所选图像的信噪比。如图3-1所示。
图3-2 基于DCT的图像压缩编码的MATLAB实现的流程图
16
4 MATLAB仿真结果与分析
(1)彩色空间的采样和转换,在YCbCr颜色模式中Y代表亮度,CbCr代表色度,将原始全彩图像RGB模式转换到YCbCr模式
图4-1 彩色空间的采样和转换
(2)采用了JPEG的核心离散余弦变换算法。DCT是正交变换,它可以将8*8图像的空间表达式转换为频率域,只需要用少量的数据点表示图像,DCT产生的系数很容易被量化,因此能获得好的块压缩。
图4-2 DCT量化处理
17
(3)变换后的频域图像进行反量化得到复原图像,保留DCT变换系数,运用逆DCT变换,对图像进行重构,分别得到原图像的三个解压分量图像
图4-3 解压分量图像
(4)DCT算法的快速算法容易实现;而且DCT算法是对称的,利用逆DCT算法解压缩图像,得到YCrCb的图像
图4-4 解压分量的YCrCb图像
18
(5)最后得到的还原图片
图4-5 还原图片
仿真结果说明了压缩比增大时,图像的质量会降低,并且图像的信噪比会变小。利用MATLAB仿真软件来实现离散余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。
19
5 心得体会
通过本次课程设计, 我巩固了课堂的理论知识,并利用所学到的理论知识正确分析图像处理的基于DCT的图像压缩编码算法问题,认识到了MATLAB的功能强大,使得我们在使用的时直接调用库函数并赋予实际参数就能解决许多实际问题,提高了编程效率。也让我熟悉了工作环境,,并通过图像变换掌握了图像和信号处理的方法和步骤,这些使我收获颇多。
同时我也发现了自身的很多不足之处。毕竟是从实践中积累实际的经验,而不是简单的理论学习阶段中的分析,我也犯了一些错误。通过这样的实践对我们现在的学习以及将来的工作都是很大的帮助,而且也提高了自我分析问题的能力,培养了自主解决困难的素养。对此,我由衷地感谢本次课程设计,在课上学得的,我将发挥到其它中去,也将在今后的学习和工作中不断提高、完善;在此间发现的不足,我将努力改善,通过学习、实践等方式不断提高,争取在今后的学习、工作中有更大的进步。
20
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于DCT的图像压缩编码算法的研究(4)在线全文阅读。
相关推荐: