基于奇异值分解的图像压缩处理

基于奇异值分解的图像压缩处理

ID:39474512

大小:2.88 MB

页数:12页

时间:2019-07-04

基于奇异值分解的图像压缩处理_第1页
基于奇异值分解的图像压缩处理_第2页
基于奇异值分解的图像压缩处理_第3页
基于奇异值分解的图像压缩处理_第4页
基于奇异值分解的图像压缩处理_第5页
资源描述:

《基于奇异值分解的图像压缩处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、电子科技大学矩阵奇异值分解在图像压缩中的应用电子科技大学微固学院贾旺旺[摘要]本文首先介绍了矩阵的奇异值分解(SVD)定理,然后讨论了基于矩阵奇异值分解的图像压缩编码原理,最后文中给出了实例,并用matlab编程实现了图像的压缩和重构,发现随着图像压缩比的减小,图像传输时间增大,但重构后得到的图像失真度减小了。[关键词]奇异值分解图像压缩压缩比一.引言随着网络的快速发展,数据量的增长也十分迅速,这使人们必须想办法如何能以最少的存储空间,最大的传输效率来进行数据的存储和传输。如在宇航中,拍摄得到的图像文件一般都比较大且数量也很多,

2、它的存储,传输和处理会受到一定的限制,因此图像压缩就显得格外重要。图像压缩技术就是要减少图像数据中的冗余信息从而以更加高效的格式存储和传输数据。图像压缩的基本方法包括无损压缩的行程长度编码,熵编码法;有损压缩的色度抽样法,变换编码,分形压缩等。近几年,基于矩阵奇异值分解的图像压缩方法也得到了很多学者的关注[1]。因为图像的像素点具有矩阵的结构,我们可以利用奇异值分解来对任意阶数的矩阵操作。本文就是利用了矩阵的奇异值分解,达到了图像压缩的目的。二.矩阵奇异值分解原理[2]引理1第1页电子科技大学定义1定理1第0页电子科技大学三.基

3、于奇异值分解的图像压缩编码1.图像的压缩奇异值分解算法的一个重要的特征是可以降维。设A是型矩阵,表明A是个维向量,若A的秩为我们可以通过奇异值分解,将表示为个维向量和个维向量。若的秩小于或远小于和,那么就可以通过奇异值分解达到降维的目的。以一幅有个像素点的图画为例,当很大时,如果将这个像素点全部传送,虽然得到的图像失真度很低,但是传输的效率也会很低。而我们希望在误差允许范围内,尽可能快的传送数据,且在数据接收端能够根据得到的数据重构图像。另外,大的奇异值对图像的贡献大,小的奇异值对图像的贡献小,所以可以从个正奇异值中选取前个较大

4、的特征值,再结合这个奇异值对应的左右酉矩阵向量,来近似表示图像。那么需要传送的像素点就变成了个,如果,就会提高传输效率。定义图像压缩比为:(3-1)显然,如果值越小,则压缩比越大,需要传送的像素点也越小,因而传输速度越快,但是得到的图像失真度将越大,反之亦然。2.图像的重构转置向量,同理,若A为型矩阵,那么在图像的数据接收端,接收到的是个奇异值和个维列向量,个维列向量。近似有公式:第2页电子科技大学,(3-2)那么就可以通过近似作出图像。在matlab中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double,因此

5、需要将图像数组转换为double类型,如果不转换,在对uint8进行加减时可能会产生错误[3]。我们都知道图像一般都是由三原色R,G,B构成的,matlab中提取出一幅图像的像素点也是由R,G,B三原色构成,它是一个三维数组,设为L,那么L(:,:,1)表示R原色构成的二维数组,元素值在[0,255],同理,L(:,:,2)表示G原色,L(:,:,3)表示B原色。通过转换为double数据类型,矩阵中每个元素值在[0,1]内。四.图像压缩和重构的matlab代码实现1.算法流程根据上述原理,文中选取了一幅JPG图片,命名为pic

6、,像素为648*991。利用matlab先提取出了像素矩阵A;然后将这个三维数组拆分为三个二维数组,即R,G,B三个三原色矩阵,对这三个二维数组利用SVD方法,计算其奇异值;选取前k个奇异值及其对应的向量,进行图像压缩处理;最后重构图像。为了对比压缩效果和传输时间,分别令k=10,50,100。k为选取的奇异值的个数。下图给出了压缩和重构过程的流程图。开始提取图片pic的像素矩阵L将矩阵L拆分为三个二维矩阵对三个二维矩阵做SVD分解作出原图像,及R,G,B三原色图第2页电子科技大学选取k个奇异值和对应向量,利用(3-2)重构图像

7、终止2.代码实现clcclearQL=imread('pic.jpg');L1=L(:,:,1);L2=L(:,:,2);L3=L(:,:,3);I1=im2double(L1);I2=im2double(L2);I3=im2double(L3);%maltab读入图像时,用`的是unit8型%显示原图像subplot(4,4,1);imshow(L);title('原图像');subplot(4,4,2);imshow(I1);title('原图像R原色');subplot(4,4,3);imshow(I2);title('原

8、图像G原色');subplot(4,4,4);imshow(I3);title('原图像B原色');%做奇异值分解[u1,s1,v1]=svd(I1);[u2,s2,v2]=svd(I2);[u3,s3,v3]=svd(I3);%用来存储数据压缩后的三个矩阵C1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。