资源描述
沈阳理工大学数字图像处理课程设计第1章相关知识1.1数字图像数字图像,又称数码图像或数位图像,是二维图像用有限数字数值像素的 表示。数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。1.2数字图像处理数字图像处理(DigitallmageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分害IJ、提取特征等处理的方法和技术。数字图像处理的产生和 迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和 医学等方面的应用需求的增长。1.3 DCT变换在数字图像应用在JPEG各类图像压缩算法中,基于离散余弦变换(DCTQiscrete CosineTransform)的图像压缩编码过程称为基本顺序过程,它应用于绝大多数图像压 缩场合,并且它能在图像的压缩操作中获得较高的压缩比。另外,重构图像与源图像的视觉效果基本相同。DCT变换是在最小均方误差条件下得出的最佳正交变 换,且已获得广泛应用,并成为许多图像编码国际标准的核心。DCT变换的变换核心为余弦函数,计算速度较快,有利于图像压缩和其他处理。MATLAB是由美 国Math2Works公司推出的用于数值计算和图形处理的科学计算软件,它集数值 分析、矩阵计算、信号处理和图形显示多种功能于一体,构成了一个方便的界面, 友好的用户环境。本文主要应用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是可选参数,表示填充后的图像矩阵大小。B 表示变换后得到的图像矩阵。第二种方法使用由函数dctmtx返回的DCT变换矩阵,这种方法较适合于较 小的输入方阵(如或方阵)。dctmtx的调用格式如下:D=dctmtx(N)其中,N表示DCT变换矩阵的维数,D为DCT变换矩阵。2.2 DCT的基本原理DCT变换在图像压缩中有很多应用,它是 JPEG MPEG等数据压缩标准的重要数学基础。在压缩算法中,先将输入图像划分为8 X 8或16 X 16,的图像块,对每个图像块作DCT变换;然后舍弃高频的系数,并对余下的系数进行量化以 进一步减少数据量;最后使用无失真编码来完成压缩任务。解压缩时首先对每个 图像块做DCT反变换,然后将图像拼接成一副完整的图像。DCT的定义:DCT变换利用傅立叶变换的性质,采用图像边界褶翻将图像变换为偶函数形 式,然后对图像进行二维傅立叶变换, 变换后仅包含余弦项,所以称之为离散余 弦变换。DCT(Discrete Cosine Transform)的疋义为,假设矩阵 A二维离散余弦变换 M茁A cosPZcosWqp qmgAmn2M的大小为M X No2NB P.q 二1/Jm , p =oa =p J2/M ,1 兰 p 兰 M -1,2/N,qN -1其中,Bp.q称为矩阵A的DCT系数。在MATLAB中,矩阵的下标从1开始 而不是从0开始的,所以MATLAB中的矩阵元素A(1,1)和B(1,1)分别对应于上 面定义中的值Aoo和Boo,依此类推。DCT是一种可逆变换,离散反余弦变换定义如下:0岂m乞M 1,0岂n岂N -14沈阳理工大学数字图像处理课程设计#沈阳理工大学数字图像处理课程设计上式的含义是任何MX N的矩阵A都可以表示为一系列具有下面形式的函数的和:0 _ p _M -1,0 _q _ N -1#沈阳理工大学数字图像处理课程设计#沈阳理工大学数字图像处理课程设计这些函数称为DCT变换的基函数。这样,,Bp.q就可以看成是应用于每个基 函数的加权。DCT的算法:离散余弦变换可以由定义式出发进行计算。但这样的计算量太大,在实际应用 中很不方便。所以需要寻求一种快速算法。以一维离散余弦变换为列,对快速算 法进行推导。F(u)2Nf(x)cosdf(x)e2N#沈阳理工大学数字图像处理课程设计#沈阳理工大学数字图像处理课程设计对时域数据向量做如下列延拓:当 x=0,1,2,N-1 fe(x) =f(x)#沈阳理工大学数字图像处理课程设计当 x=N, N+1, 2N-1时 fe(x)=O则fe(x)的离散余弦变换可写成下列:I 2N JF(oN Je(x)F(0)二fe(x) cos(2X 1)u 二2Nfe(x) e(2x+)un-l2NQN _1z.x=02N J fe(x)x=0j 2xu 二2N5沈阳理工大学数字图像处理课程设计#沈阳理工大学数字图像处理课程设计由上式可见:2N.2xun fe(x) e 2NXzO是2N点的;离散傅里叶变换所以在离散余弦变换时,可以吧序列长度延拓为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那么,反变换可表示:1F(0:nFe(0)22N*e(u)cos空匹Nut2N1N Fe(0)2N JZ Fe(u)L.U#2xuej2Neu 二2NN)Fe(0)2N -1u 兀Re任Fe(u)(x)e_j?NL_ u=0#沈阳理工大学数字图像处理课程设计#沈阳理工大学数字图像处理课程设计j由上式可见,idct可以由Fe(u)e2N的2N点的idft的快速算法实现。#沈阳理工大学数字图像处理课程设计在计算二维的DCT变换时,可使用下面的计算公式把二维的 DCT变换变成一维的DCTF(u,v) = 1 C(u)G(i,v)cos 1)U 2716G(i,vC(v)r f(i,j)cos(2ii6):2y16该方法的出发点是分别对分解后的每个数据小方块进行DCT变换,主要应用MATLAB勺影像处理工具箱中dctmtx函数返回DCT变换矩阵,而后进行相关处 理的程序实现。6沈阳理工大学数字图像处理课程设计第3章仿真用MATLAB的影像处理工具箱中dctmtx函数编写基于DCT勺变换的图像压缩:%出发点是采用分别对分解后的每个数据小方块进行DC变换l=imread(pla ne1.gif);%装入原始图像,该图片在安装matlab的目录中找,原图为灰度图像I仁 im2double(l);%图像存储类型转换,将图像变换成双精度格式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 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 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和压缩图像I28沈阳理工大学数字图像处理课程设计9沈阳理工大学数字图像处理课程设计plane1.gif图3.1仿真结果压缩后的图像图3.2压缩后的图像10沈阳理工大学数字图像处理课程设计11沈阳理工大学数字图像处理课程设计DC变换三维投影:图3.3未经DC变换前的三维投影图3.4经DC变换后的三维投影#沈阳理工大学数字图像处理课程设计第4章结果分析11234567B90 19220L717E0.69410 6&270.63920.658S0 63240.67450.636320.149.70590.69020.7D20.6980.68630.68830.89020.B745I30.1490.709S0.69410.70690.6960.63630.670E0.652740 15290.66670.67C60.67Q50.66670.E4310.63920.6510.66495.10040.64710.64310.6431U.MI0.B51C.6510.6510.G5160 20700.619G0.E1960 63530.63530.63530.G4710.6G27 65170.21570.64310.63530.61950.51570.64310.620.B4310.630 23320B2350.6039D 9610,60390.62350 5961D.5157asg0.27060.60.6D790.5B43O.E0760.5B82.sees0.57550.5882101 26670.S4710.607S0 60700.6C7B0.60 59040.55290.560S110.2196.B5890.64710.6275.63140.60790.59610.58040.5725120.3B90.54310.656S0.62350.62350.61 IS0 50G90.59220.603913D2157Q.651.65490.B431 .47?0.62350.60390.6649140.1 B470I.S2350.61570.60730.61960.62350.62750.63140.G51150 14120.62750.G1130 59220.57650.61960 63920.53920.6549当p,q不断增大时,相应的余弦函数的频率也不断增大,得到的系数可认 为就是原始图像信号在频率不断增大的余弦函数上的投影,所以也被称为低频系 数、中频系数和高频系数。依上图可以明显的发现如下规律:大体上,沿左上到 右下的方向DCT系数(绝对值)是依次递减的。所以,也就是说一个图像的DCT低频系数分布在DCT系数矩阵的左上角,高频系数分布在右下角,低频系数的绝 对值大与高频系数的绝对值。对DCT变换来说,图像的主要能量是集中在其DC係数的一小部分。这所谓 的“一小部分”就是指的低频部分。随着 p,q阶数的不断增大,图像信号在两组 正交函数上的投影值出现了大量的正负相抵消的情景,从而导致了得到的频率系 数在数值(绝对值)上的不断减小。当 p=0,q=0,得到的频率系数与余弦函数无 关(cosO=1),完全就是图像抽样信号的均值,也是最大的一个值,称为DCT变换的直流(DC系数,其它的频率系数都由余弦函数参与得到,所以被称为交流(AC系数。中、低频系数所含有的原始信号的成份较多,所以由其反变换重构 图像就能得到图像的近似部分。高频系数是在众多正交的余弦函数上投影的加 权,是这些不同频率的余弦信号一起来刻画原始信号的结果,图像近似的部分在这些函数上被相互抵消了,剩下的就是图像的细节部分了。1,2345g7g10.31320.570490.77020.7029.3350.E4770.6096 70252.31130.4972 7003 765B0.6999 6332 65070.70400.605330.3070.43060.69140.75510.69090.62670.65150.7090.666340.30130.48140.67730 73790.67440.61660EJ510.70660.B5BS0.2970 47340.E&270.71010.65320.59030.63170.6970.65496D.30020.47070.E5250 7D130.53340.57950.6160.66390.64230.307D.47340.G4860.6912D.61990.56550.6Q3B0.6730.G17380.31310.4770.E4640.B8730.61350.55850.5972Di.66720.59560.32920.47050.63620.G730.6010 535D.&470.59340.5763100.33750.48730.6457.50340.51210.54650.55890.6054O.57S9110 34380.4946 6543 69470.6254 5614 57400.6217 .5902120.33760.43030.65390.69790.&3260.571B0.5B740.&3550.6126130.31S30.473E0.64230.E9220.63260.57720 59Gd0.54540.G37714 2947D.45340.62740.604306320.50260.60630.65050.65315D.27640.437B0.E1E30.500.53420.59040.61S20.5727C.65430.2673D.43O40.61230.6792D.6374. 5970.62730.E3310.6497对图像进行分块DCT后,在每一个8X 8范围内其频率系数仍然符合 DCT系数分 布规律。仿真中取了 10个DCT系数,占15 %比较原图和重构图像,可以发现:在抛弃85 %的DCT系数后,重构图像时并不会因此而带来其画面质量的显著下降 ,即重 构图像的失真不大当然,采用这种方法来实现压缩算法时,可以通过修改mask 变量中的DCT系数来更好地比较仿真结果。14沈阳理工大学数字图像处理课程设计在整个运用MATLA影像处理工具箱中的相关函数和命令实现基于 DCT变 换的图像压缩的仿真过程中,清晰了 DCT图像压缩的方法,仿真较好的地反映出 DCT压缩的特性。真这次课设中让我知道了如何运用已掌握的知识如何学习新的 知识,如何去克服遇到的困难这些都我这次课设留了宝贵的财富。参考文献1刘刚.MATLAB数字图像处理M.北京:机械工业出版社.2010: 34-743余成波.数字图像处理及 MATLAB实现M.重庆:重庆大学出版社.2003:37-894王晓丹,吴崇明.基于MATLAB的系统分析与设计M.西安:西安电子科技 大学出版社.2000: 45-6815
展开阅读全文