论文导读:本文在介绍奇异值分解基本原理的基础上,实现了基于奇异值分解的图像压缩,并给出了相关的Matlab程序。本文以Lena图像为例,说明了奇异值分解压缩率和峰值信噪比之间的关系,实验结果表明奇异值分解可较好地实现图像压缩。
关键词:图像压缩,奇异值分解,压缩率,峰值信噪比
1.前言
图像压缩是数字图像压缩的简称,图像压缩又称为图像压缩编码或图像编码。在数字图像的存储、处理和传送过程中,采用高效的图像压缩技术可以节省传输资源、降低传输时间、提高传输效率。科技论文。图像压缩要解决的问题是尽量减少表示数字图像时需要的数据量[1]。科技论文。论文参考。
目前应用较为广泛的图像压缩方法有统计编码、预测编码、变换编码、分形图像压缩编码、利用神经网络的图像编码等。近年来,奇异值分解方法在图像压缩编码上的应用得到了重视[2-3]。本文在介绍奇异值分解原理的基础上,以512×512的Lena图像为例,给出了算法的Matlab程序,并对算法进行了评价。
2.奇异值分解的图像压缩原理
矩阵A的奇异值定义如下[4]:设 (r>0),且AHA的特征值为
(1)
则称 (i=1,2,…,n)为A的奇异值。
设Σ=diag(σ1,σ2,…,σr),由式(1)可知,σi(i=1,2,…,r)为A的非零奇异值。科技论文。U为m阶酉矩阵,V为n阶酉矩阵,若满足
(2)
则称式(2)为A的奇异值分解[4]。若U写成U =[u1,u2,…,um]的形式,V写成V=[v1,v2,…,vn]的形式,则式(2)可写成如下形式:
(3)
由于大的奇异值对图像的贡献大,小的奇异值对图像的贡献小,所以可以从r个奇异值生成矩阵中选取前k个(k<r)近似表示图像A,即取:
(4)
近似表示图像A。
存储图像A需要mn个数值,存储图像Ak需(m+n+1)k个数值,若取
(5)
则可达到压缩图像的目的,比率
(6)
称为压缩率。论文参考。论文参考。
3.奇异值分解图像压缩的Matlab实现
Lena的图像矩阵共有512个非零奇异值,其奇异值特征曲线如图1所示,随着i的增加,σi迅速减小。σ1=64519,当i≥36时,σi<1000。

图1 图像Lena的奇异值特征曲线(512×512)
采用奇异值分解对该图像进行压缩,Matlab代码如下:
infile='Lena.bmp';
outfile='Lena2.bmp';
k=40;
A=imread(infile);
A=double(A);
[u,s,v] = svds(A,k);
im = uint8(u * s* v');
imwrite(im,outfile);
figure;imshow(im);
原始图像的文件名为Lena.bmp,将压缩后的图像命名为Lena2.bmp,程序的第6行计算矩阵A的最大k个奇异值与相关的奇异向量,得到u=[u1,u2,…,uk],s=diag(σ1,σ2,…,σk),v=[v1,v2,…,vk]。在使用svds函数时,需要先将A的数据类型转换为double型(程序第5行),这里k取40(程序第3行)。程序第7行对应公式(4),变量im存放压缩后的图像A40,程序第8行将A40保存为文件Lena2.bmp.
4.结果与讨论
在公式(4)中,k的取值不同时,矩阵Ak表示的图像效果有所不同,如图2所示(a)为原始图像,(b)、(c)、(d)、(e)、(f)分别为A40、A80、A120、A160、A200所表示的图像。从图(2)可知,k的取值越大,压缩后的图像效果越好,但同时压缩率越小。对图像Lena而言,k取80时,压缩后的图像A80已非常接近原图像。
  
(a)(b)(c)
  
(d)(e)(f)
图2 k取值不同时图像Lena基于奇异值分解压缩的效果
不同的k值下,Lena图像的压缩率和峰值信噪比(dB)如表1所示:
表1 不同k值时Lena图像的压缩率和峰值信噪比(dB)
|
k=40 |
k=80 |
k=120 |
k=160 |
k=200 |
σk |
891.7391 |
426.6649 |
248.6300 |
155.2197 |
108.4801 |
CR |
6.3938 |
3.1969 |
2.1313 |
1.5984 |
1.2788 |
PSNR |
33.8219 |
37.1038 |
40.5122 |
43.5443 |
46.1676 |
在对矩阵进行奇异值分解时,采用分块的方法可降低计算量[3]。此外,若将奇异值分解与小波变换相结合对图像进行压缩[5-6],可以在相同压缩率的情况下,得到更高的峰值信噪比。
参考文献
[1]Rafael C. Gonzalez,Richard E. Woods. 数字图像处理(第二版)[M]. 阮秋琦, 阮宇智, 译. 北京: 电子工业出版社. 2005
[2]胡乡峰, 卫金茂. 基于奇异值分解(SVD)的图像压缩[J].东北师大学报(自然科学版), 2006, 38(3):36-39
[3]吴俊政. 一种基于奇异值分解的图像压缩方法[J]. 计算机与数字工程. 2009, 37(5):136-138
[4]徐仲, 张凯院, 陆全, 等. 矩阵论简明教程(第二版)[M]. 北京:科学出版社, 2005
[5]叶松, 戴才良, 于志强, 等. 基于小波域奇异值分解的图像压缩算法[J]. 计算机工程与应用. 2008, 44(18):183-185
[6]刘汉强. 基于奇异值分解(SVD)和小波变换的图像压缩算法[J]. 福建电脑. 2008, (1):55-56
|