图像的DCT变换



《图像的DCT变换》由会员分享,可在线阅读,更多相关《图像的DCT变换(15页珍藏版)》请在装配图网上搜索。
1、沈阳理工大学数字图像处理课程设计 第1章相关知识 1.1数字图像 数字图像,又称数码图像或数位图像,是二维图像用有限数字数值像素的 表示。数字图像是由模拟图像数字化得到的、 以像素为基本元素的、可以用数字 计算机或数字电路存储和处理的图像。 1.2数字图像处理 数字图像处理(DigitallmageProcessing)是通过计算机对图像进行去除噪 声、增强、复原、分害IJ、提取特征等处理的方法和技术。数字图像处理的产生和 迅速发展主要受三个因素的影响: 一是计算机的发展;二是数学的发展(特别是 离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和 医学等
2、方面的应用需求的增长。 1.3 DCT变换在数字图像应用 在JPEG各类图像压缩算法中,基于离散余弦变换(DCTQiscrete Cosine Transform)的图像压缩编码过程称为基本顺序过程,它应用于绝大多数图像压 缩场合,并且它能在图像的压缩操作中获得较高的压缩比。另外 ,重构图像与源 图像的视觉效果基本相同。DCT变换是在最小均方误差条件下得出的最佳正交变 换,且已获得广泛应用,并成为许多图像编码国际标准的核心。 DCT变换的变换 核心为余弦函数,计算速度较快,有利于图像压缩和其他处理。MATLAB是由美 国Math2Works公司推出的用于数值计算和图形处理的科学计算软
3、件,它集数值 分析、矩阵计算、信号处理和图形显示多种功能于一体,构成了一个方便的界面, 友好的用户环境。本文主要应用MATLAB6.5中发布的影像处理工具箱中的相关函 数和命令来实现基于DCT的图像压缩编码理论算法的仿真。 1 沈阳理工大学数字图像处理课程设计 第2章课程设计分析 2.1 DCT在 MATLA的实现 第一种方法是使用函数dct2,该函数使用一个基于FFT的快速算法来提高 当输入较大的输入方阵时的计算速度。dct2函数的调用格式如下: dct2 B=(A,[M N]) 或 B=dct2(A,M,N) 其中,A表示要变换的图像,M和N是可选参数,表示填充后的图
4、像矩阵大小。B 表示变换后得到的图像矩阵。 第二种方法使用由函数dctmtx返回的DCT变换矩阵,这种方法较适合于较 小的输入方阵(如或方阵)。dctmtx的调用格式如下: D=dctmtx(N) 其中,N表示DCT变换矩阵的维数,D为DCT变换矩阵。 2.2 DCT的基本原理 DCT变换在图像压缩中有很多应用,它是 JPEG MPEG等数据压缩标准的重 要数学基础。在压缩算法中,先将输入图像划分为 8 X 8或16 X 16,的图像块, 对每个图像块作DCT变换;然后舍弃高频的系数,并对余下的系数进行量化以 进一步减少数据量;最后使用无失真编码来完成压缩任务。解压缩时首先对每个
5、 图像块做DCT反变换,然后将图像拼接成一副完整的图像。
DCT的定义:
DCT变换利用傅立叶变换的性质,采用图像边界褶翻将图像变换为偶函数形 式,然后对图像进行二维傅立叶变换, 变换后仅包含余弦项,所以称之为离散余 弦变换。
DCT(Discrete Cosine Transform) 的疋义为,假设矩阵 A
二维离散余弦变换
M茁A cosPZcosW^q
p qmgAmn 2M
的大小为M X No
2N
B P.q 二
1/Jm , p =o
a =
p [J2/M ,1 兰 p 兰 M -1
,2/N,^ 6、的DCT系数。在MATLAB中,矩阵的下标从1开始 而不是从0开始的,所以MATLAB中的矩阵元素A(1,1)和B(1,1)分别对应于上 面定义中的值Aoo和Boo,
依此类推。DCT是一种可逆变换,离散反余弦变换定义如下:
0岂m乞M —1,0岂n岂N -1
4
沈阳理工大学数字图像处理课程设计
#
沈阳理工大学数字图像处理课程设计
上式的含义是任何MX N的矩阵A都可以表示为一系列具有下面形式的函数的
和:
0 _ p _M -1,0 _q _ N -1
#
沈阳理工大学数字图像处理课程设计
#
沈阳理工大学 7、数字图像处理课程设计
这些函数称为DCT变换的基函数。这样,,Bp.q就可以看成是应用于每个基 函数的加权。
DCT的算法:
离散余弦变换可以由定义式出发进行计算。但这样的计算量太大,在实际应用 中很不方便。所以需要寻求一种快速算法。以一维离散余弦变换为列,对快速算 法进行推导。
F(u)
2N f(x)cosd
f(x)e
2N
#
沈阳理工大学数字图像处理课程设计
#
沈阳理工大学数字图像处理课程设计
对时域数据向量做如下列延拓:
当 x=0,1,2,
N-1 fe(x) =f(x)
#
沈阳理工大学数字图 8、像处理课程设计
当 x=N, N+1, 2N-1 时 fe(x)=O
则fe(x)的离散余弦变换可写成下列:
I 2N J
F(o「N Je(x)
F(0)二
fe(x) cos
(2X 1)u 二
2N
fe(x) e
(2x+)un-l
2N
QN _1
z
.x=0
2N J
fe(x)
x=0
j 2xu 二
2N
5
沈阳理工大学数字图像处理课程设计
#
沈阳理工大学数字图像处理课程设计
由上式可见:
2N」 .2xun
fe(x) e 2N
XzO
是2N点的;离散傅里叶变换所以在离散 9、余弦变换时,可以吧序列长度延拓为
2N,然后作离散傅里叶变换,产生的结果取其实部即可得到余弦变换。
同理对于离散余弦变换IDCT,可首先在变换空间将[F(u)]作如下延拓:
当 u=0,1,2,3, N-1 时 Fe
(u) =F( u)
#
沈阳理工大学数字图像处理课程设计
#
沈阳理工大学数字图像处理课程设计
当 u=N,N+1, N+2, ,2N-1 时 Fe (u)=0
那么,反变换可表示:
1
F(0:n
Fe(0)
22N*e(u)cos空匹
Nut 2N
1
N Fe(0)
"2N J
Z Fe(u)
L.U#
10、
2xu
ej2Ne
u 二
2N
N)Fe(0)
^2N -1 u 兀
Re任[Fe(u)(x)e_j?N]
L_ u=0
#
沈阳理工大学数字图像处理课程设计
#
沈阳理工大学数字图像处理课程设计
j—
由上式可见,idct可以由Fe(u)e2N的2N点的idft的快速算法实现。
#
沈阳理工大学数字图像处理课程设计
在计算二维的DCT变换时,可使用下面的计算公式把二维的 DCT变换变成一维
的DCT
F(u,v) = 1 C(u)「G(i,v)cos⑵ 1)U ]
2 7 16
G(i,v^^C(v)r f(i, 11、j)cos(2ii6)^:]
2 y 16
该方法的出发点是分别对分解后的每个数据小方块进行 DCT变换,主要应用
MATLAB勺影像处理工具箱中dctmtx函数返回DCT变换矩阵,而后进行相关处 理的程序实现。
6
沈阳理工大学数字图像处理课程设计
第3章仿真
用MATLAB的影像处理工具箱中dctmtx函数编写基于DCT勺变换的图像压缩:
%出发点是采用分别对分解后的每个数据小方块进行 DC变换
l=imread( pla ne1.gif );
%装入原始图像,该图片在安装matlab的目录中找,原图为灰度图像
I仁 im2double(l);
%图像存储类 12、型转换,将图像变换成双精度格式
T=dctmtx(8);
%离散余弦变换矩阵,处理后返回一个8 X 8阶DCT变换矩阵
B=blkproc(l1,[8,8], P1*x*P2 ,T,T);
%对原图像进行DC■变换,每个不同8 X 8块应用矩阵式’P1*x *P2 进行处理,
必要时补0 ,其中P1 = T ,P2 = 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 13、 0 0 0 0 0 0];
%二值掩模,用来压缩DCT的系数,选取10个DCT系数重构图像
B2=blkproc(B,[8,8], P1.*x ,mask); %只保留 DCT变换的 10个系数,数据压缩,
丢弃右下角高频数据
l2=blkproc(B2,[8,8], P1*x*P2 ,T,T);泌行DCT反变换,得到压缩后的图像
subplot(2,2,1)
imshow(l1)
title( pla ne1.gif )
subplot(2,2,2)
imshow(l2)
title(压缩后的图像);%显示原始图像I1和压缩图像I2
8
沈阳理工大学数字图像处理 14、课程设计
9
沈阳理工大学数字图像处理课程设计
plane1.gif
图3.1仿真结果
压缩后的图像
图3.2压缩后的图像
10
沈阳理工大学数字图像处理课程设计
11
沈阳理工大学数字图像处理课程设计
DC变换三维投影:
图3.3未经DC■变换前的三维投影
图3.4经DC■变换后的三维投 15、影
#
沈阳理工大学数字图像处理课程设计
第4章结果分析
1
1
2
3
4
5
6
7
B
9
0 1922
0L717E
0.6941
0 6&27
0.6392
0.658S
0 6324
0.6745
0.6363
2
0.149
□.7059
0.6902
0.7D2
0..698
0.6863
0.6883
0.8902 16、
0.B745
I
3
0.149
0.709S
0.6941
0.7069
0.696
0.6363
0.670E
0.6527
4
0 1529
0.6667
0.67C6
0.67Q5
0.6667
0.E431
0.6392
0.651
0.6649
5
□.1004
0.6471
0.6431
0.6431
U.MI
0.B51
C.651
0.651
0.G51
6
0 2070
0.619G
0.E196
0 6353
0.6353
0.6353
0.G471
0.6G27
□ 65 17、1
7
0.2157
0.6431
0.6353
0.6195
0.5157
0.6431
0.6^2
0.B431
0.6
3
0 2332
0B235
0.6039
D 961
0,6039
0.6235
0 5961
D.5157
as
g
0.2706
0.6
0.6D79
0.5B43
O.E076
0.5B82
□.sees
0.5755
0.5882
10
[1 2667
0.S471
0.607S
0 6070
0.6C7B
0.6
0 5904
0.5529
0.560S
1 18、1
0.2196
□.B589
0.6471
0.6275
□.6314
0.6079
0.5961
0.5804
0.5725
12
0.3B9
0.5431
0.656S
0.6235 0.6235
0.61 IS
0 50G9
0.5922
0.6039
13
D2157
Q.651
□.6549
0.B431
□ .47?
0.6235
0.6039
0.6649
14
0.1 B47
0I.S235
0.6157
0.6073
0.6196
0.6235
0.6275
0.6314
0.G51
19、
15
0 1412
0.6275
0.G113
0 5922
0.5765
0.6196
0 6392
0.5392
0.6549
当p,q不断增大时,相应的余弦函数的频率也不断增大,得到的系数可认 为就是原始图像信号在频率不断增大的余弦函数上的投影,所以也被称为低频系 数、中频系数和高频系数。依上图可以明显的发现如下规律:大体上,沿左上到 右下的方向DCT系数(绝对值)是依次递减的。所以,也就是说一个图像的 DCT
低频系数分布在DCT系数矩阵的左上角,高频系数分布在右下角,低频系数的绝 对值大与高频系数的绝对值。
对DCT变换来说,图像的主要能量是集中在其 20、DC係数的一小部分。这所谓 的“一小部分”就是指的低频部分。随着 p,q阶数的不断增大,图像信号在两组 正交函数上的投影值出现了大量的正负相抵消的情景,从而导致了得到的频率系 数在数值(绝对值)上的不断减小。当 p=0,q=0,得到的频率系数与余弦函数无 关(cosO=1),完全就是图像抽样信号的均值,也是最大的一个值,称为 DCT变
换的直流(DC系数,其它的频率系数都由余弦函数参与得到,所以被称为交流
(AC系数。中、低频系数所含有的原始信号的成份较多,所以由其反变换重构 图像就能得到图像的近似部分。高频系数是在众多正交的余弦函数上投影的加 权,是这些不同频率的余弦信号一起来刻画原始信 21、号的结果, 图像近似的部分在
这些函数上被相互抵消了,剩下的就是图像的细节部分了。
1
, 2
3
4
5
g
7
g
1
0.3132
0.5
□7049
0.7702
0.7029
□.335
0.E477
0.6096
□ 7025
2
□.3113
0.4972
□ 7003
□ 765B
0.6999
□ 6332
□ 6507
0.7040
0.6053
3
0.307
0.4306
0.6914
0.7551
0.6909
0.6267
0.6515
0.709^
0.6663
22、
4
0.3013
0.4814
0.6773
0 7379
0.6744
0.6166
0EJ51
0.7066
0.B5B
S
0.297^
0 4734
0.E&27
0.7101
0.6532
0.5903
0.6317
0..697
0.6549
6
D.3002
0.4707
0.E525
0 7D13 0.5334
0.5795
0.616
0.6639
0.6423
0.307
D.4734
0.G486
0.6912
D.6199
0.5655
0.6Q3B
0.673
0.G173 23、
8
0.3131
0.477
0.E464
0.B873
0.6135
0.5585
0.5972 Di.6672
0.5956
0.3292
0.4705
0.6362
0.G73
0.601
0 535
D.&47
0.5934
0.5763
10
0.3375
0.4873
0.6457
□.5034
0.5121
0.5465
0.5589
0.6054
O.57S9
11
0 3438
0.4946
□ 6543
□ 6947
0.6254
□ 5614
□ 5740
0.6217
□ 24、.5902
12
0.3376
0.4303
0.6539
0.6979
0.&326
0.571B
0.5B74
0.&355
0.6126
13
0.31S3
0.473E
0.6423
0.E922
0.6326
0.5772
0 59Gd
0.5454
0.G377
14
□ 2947
D.4534
0.6274
0.6043
0632
0.5026
0.6063
0.6505
0.653
15
D.2764
0.437B
0.E1E3
0.50
0.5342
0.5904
0.61S2
0. 25、5727
C.6543
0.2673
D.43O4
0.6123
0.6792
D.6374
□. 597
0.6273
0.E331
0.6497
对图像进行分块DCT后,在每一个8X 8范围内其频率系数仍然符合 DCT系数分 布规律。
仿真中取了 10个DCT系数,占15 %比较原图和重构图像,可以发现:在抛弃
85 %的DCT系数后,重构图像时并不会因此而带来其画面质量的显著下降 ,即重 构图像的失真不大•当然,采用这种方法来实现压缩算法时,可以通过修改mask 变量中的DCT系数来更好地比较仿真结果。
14
沈阳理工大学数字图像处理课程 26、设计
在整个运用MATLA影像处理工具箱中的相关函数和命令实现基于 DCT变 换的图像压缩的仿真过程中,清晰了 DCT图像压缩的方法,仿真较好的地反映出 DCT压缩的特性。真这次课设中让我知道了如何运用已掌握的知识如何学习新的 知识,如何去克服遇到的困难这些都我这次课设留了宝贵的财富。
参考文献
[1]刘刚.MATLAB数字图像处理[M].北京:机械工业出版社.2010: 34-74
[3]余成波.数字图像处理及 MATLAB实现[M].重庆:重庆大学出版社.2003:
37-89
[4]王晓丹,吴崇明.基于MATLAB的系统分析与设计[M].西安:西安电子科技 大学出版社.2000: 45-68
15
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。