上传者: 38562725
|
上传时间: 2021-12-15 00:46:57
|
文件大小: 1.19MB
|
文件类型: -
matlab信息熵代码
JPEG_Compression
在matlab里实现JPEG的压缩
JPEG压缩的基本流程
压缩流程:DCT2->量化->曲线阅读->编码->压缩码.
原图如下:
二维离散余弦变换
DCT2
将图片分成8x8的矩阵进行DCT2变换.
变换的好处是一方面,从图像处理的整体流程而言,变换后便于后续处理;另一方面,从编码的角度而言,变换后使图像信息集中,在数学上体现为描述关键信息的系数变少,相应的,所需存储空间降低,达到降低视频体积的目的。
变换后还可以进行高频过滤。
DCT2变换之后图像的信息会集中在左上角的低频区域:
经过DCT2变换的图像:
量化
Quantification
高频率的信息更难被眼睛捕捉,用quant矩阵模拟眼睛的感知能力,对进行过DCT的图像再进行分块(8x8)量化.
量化效果通常用量化玩之后矩阵的中0的占比来衡量,图像量化后0的占比例高达
96.2734%.
另外一种评估图像质量的方法是计算
Peak
Signal
to
Noise
Ratio
(峰值信噪比)的值,PSNR值越大,就代表失真越少.
这里解码后的图像PSNR能得到
30db