matlab灰色处理代码JPEG压缩实现
这是我在阿尔伯塔大学MM806-(图像和视频处理)课程的第四次编程作业。
这项任务的目的是理解和欣赏JPEG压缩机制。
作业问题(由Nilanjan
Ray教授设定)如下:
您的编码器是实际基准系统的简化版本。
首先,它假定为灰度输入图像。
让用户选择一个图像。
因此,没有颜色转换。
然后根据输入图像创建8x8块。
如果图像的高度和宽度不是8的倍数,请对图像进行零填充。
然后,对于每个8x8块,应用DCT。
接下来将量化应用于DCT系数。
为了进行量化,请使用此表。
接下来,以Z字形顺序对量化的DCT系数重新排序。
对DC系数应用差分编码,对AC系数应用游程长度编码。
将这些差分编码的DC和游程编码的AC系数以及图像高度和图像宽度写入文本文件。
这样就完成了您的编码器。
注意,实际上,您将霍夫曼编码进一步应用到差分编码DC和游程编码AC系数。
为了简单起见,我们在这里跳过霍夫曼编码。
解码器读取文本文件,并反转编码器的每个步骤,最后显示图像。
使用Matlab内置的“
cameraman.tif”,“
pout.tif”等对您的程序进行测试。您
2024-05-03 16:31:16
8KB
系统开源
1