数字图像处理课程报告
基于DCT 的数字图像压缩及matlab 实现
一. 概述 姓名:学号:班级:
随着信息时代的到来和计算机网络技术的发展,人们需要存储、处理和传输的信息越来越多,而图像作为这些信息的重要表现形式,其具有数据量大、带宽宽等特点,这就给图像的存储、处理和传输带来了很大的困难尤其是图像信息的传输,一方面需要增加信道,但这很有限,因为信道的增加永远赶不上信息爆炸式增长,况且还要受到环境的限制;另一方面,就必须减少表示图像的数据量,以达到压缩图像数据的目的。
JPEG 联合专家小组于1991年3月提出了连续色调禁止图像的数字压缩编码标准,即JPEG 标准,它是彩色禁止图像压缩的标准,该标准定义了两种方式编码
(1) 基于DCT 变换的非可逆编码方式,该方式又分为基本
系统和扩展系统。
(2) 可逆编码的空间方式,是应用在无失真编码中的无损
系统。
二.图像压缩的基本原理
图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量,在信息论中称为信源编码。图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。压缩技术分为无损压缩和有损压缩两大类,前者在解码时可以精确地恢复原图像,没有任
何损失;后者在解码时只能近似原图像,不能无失真地恢复原图像。
离散余弦变换(DCT)
当前处于信息高速流通时代,要求在保证质量的前提下,以较小的空间存储图像和较小的比特率传输图像,这就需要采用各种图像压缩编码技术来实现。DCT 变换是最小均方误差条件得出的次最佳正交变换,且已经获得广泛的应用,并已经成为许多图像编码国际标准的核心。离散余弦变换的变换核是余弦函数,计算速度较快,有利于图像压缩和其他处理。在大多数情况下,DCT 用于图像的压缩操作中。JPEG 图像格式的压缩算法采用的是DCT 。
三.Matlab 实现及分析
原始图像大小为260K ,512x512个象素点的.png 图像。 经过系统压缩后,设q 值为6,得到大小为6K ,512x512个象素点的处理后.jpg 图像,压缩比达到43。可以清晰的看见,经过高压缩比的处理后,图像产生了严重的块效应,具体说来就是图像被分割成了许多个小方块。按照图像的主观评价标准,人眼的识别率下降,图像的质量也就相应的下降了。本文对不同的q 取值下的图像分别进行了DCT 均值去除图像块效应处理,分别得到了效果不同的实验数据。根据这些数据本文的算法得到了初步的验证,对于高压缩比的图像来说,量化步长的相应增大,使得图像的去除块效应效果由了很大的提升。
四.源程序清单
I=imread('lenna.jpg');
I=im2double(I);
T=dctmtx(8);
B=blkproc(I,[8 8],'P1*x*P2',T,T');
mask = [1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0
B2 = blkproc(B,[8 8],@(x)mask.* x);
I2 = blkproc(B2,[8 8],'P1*x*P2',T',T);
subplot(1,2,1);
imshow(I);
title('原始图像');
subplot(1,2,2);
imshow(I2);
title('压缩后图像');
figure;
error = I^2-I2^2;
MSE = sum(error(:))/prod(size(I2));
B3 = B-B2;
I3 = blkproc(B3,[8 8],'P1*x*P2',T,T');
imshow(I3);
title('均方误差图像');
0 0];
五. 参考文献
(1)许录平《数字图像处理》图像压缩编码,pp138-186
(2)赵军伟 数字图像压缩及matlab 实现 兰州大学信息学院
(3)赵夕 基于DCT 的图像压缩 毕业设计燕山大学 2008年
数字图像处理课程报告
基于DCT 的数字图像压缩及matlab 实现
一. 概述 姓名:学号:班级:
随着信息时代的到来和计算机网络技术的发展,人们需要存储、处理和传输的信息越来越多,而图像作为这些信息的重要表现形式,其具有数据量大、带宽宽等特点,这就给图像的存储、处理和传输带来了很大的困难尤其是图像信息的传输,一方面需要增加信道,但这很有限,因为信道的增加永远赶不上信息爆炸式增长,况且还要受到环境的限制;另一方面,就必须减少表示图像的数据量,以达到压缩图像数据的目的。
JPEG 联合专家小组于1991年3月提出了连续色调禁止图像的数字压缩编码标准,即JPEG 标准,它是彩色禁止图像压缩的标准,该标准定义了两种方式编码
(1) 基于DCT 变换的非可逆编码方式,该方式又分为基本
系统和扩展系统。
(2) 可逆编码的空间方式,是应用在无失真编码中的无损
系统。
二.图像压缩的基本原理
图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量,在信息论中称为信源编码。图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。压缩技术分为无损压缩和有损压缩两大类,前者在解码时可以精确地恢复原图像,没有任
何损失;后者在解码时只能近似原图像,不能无失真地恢复原图像。
离散余弦变换(DCT)
当前处于信息高速流通时代,要求在保证质量的前提下,以较小的空间存储图像和较小的比特率传输图像,这就需要采用各种图像压缩编码技术来实现。DCT 变换是最小均方误差条件得出的次最佳正交变换,且已经获得广泛的应用,并已经成为许多图像编码国际标准的核心。离散余弦变换的变换核是余弦函数,计算速度较快,有利于图像压缩和其他处理。在大多数情况下,DCT 用于图像的压缩操作中。JPEG 图像格式的压缩算法采用的是DCT 。
三.Matlab 实现及分析
原始图像大小为260K ,512x512个象素点的.png 图像。 经过系统压缩后,设q 值为6,得到大小为6K ,512x512个象素点的处理后.jpg 图像,压缩比达到43。可以清晰的看见,经过高压缩比的处理后,图像产生了严重的块效应,具体说来就是图像被分割成了许多个小方块。按照图像的主观评价标准,人眼的识别率下降,图像的质量也就相应的下降了。本文对不同的q 取值下的图像分别进行了DCT 均值去除图像块效应处理,分别得到了效果不同的实验数据。根据这些数据本文的算法得到了初步的验证,对于高压缩比的图像来说,量化步长的相应增大,使得图像的去除块效应效果由了很大的提升。
四.源程序清单
I=imread('lenna.jpg');
I=im2double(I);
T=dctmtx(8);
B=blkproc(I,[8 8],'P1*x*P2',T,T');
mask = [1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0
B2 = blkproc(B,[8 8],@(x)mask.* x);
I2 = blkproc(B2,[8 8],'P1*x*P2',T',T);
subplot(1,2,1);
imshow(I);
title('原始图像');
subplot(1,2,2);
imshow(I2);
title('压缩后图像');
figure;
error = I^2-I2^2;
MSE = sum(error(:))/prod(size(I2));
B3 = B-B2;
I3 = blkproc(B3,[8 8],'P1*x*P2',T,T');
imshow(I3);
title('均方误差图像');
0 0];
五. 参考文献
(1)许录平《数字图像处理》图像压缩编码,pp138-186
(2)赵军伟 数字图像压缩及matlab 实现 兰州大学信息学院
(3)赵夕 基于DCT 的图像压缩 毕业设计燕山大学 2008年