MATLAB SVD分解:用于图像压缩的实践

首先,我们需要知道几个简单的知识:

1、任何一张灰度图片都是由二维的像素组成的,每一个像素对应一个颜色块(这一点用过ps的应该比较了解),其对应一个二维的矩阵;

2、对于RGB色彩的图像来说,每一维度分别是RGB的一个分量,整张图像对应一个三维矩阵;

3、利用SVD分解用于压缩图片可以在满足清晰度需求的情况下尽可能的减少图片的大小,也就是所占的存储空间。

其次,首先将matlab测试代码展示如下,代码中的每一步都做了注释:

我们来使用如下图片来进行测试: 其图片大小为554kb

我们分别测试代码中取特征值为10,50,100三种情况,来看看有什么变化 k=10时:图像大小为242kb

k=50时:图像大小为329kb

k=100时:图像大小为370kb

我们发现随着取的特征值k的不断增大,图像会越来越清晰,但是当图片清晰到一定程度之后,我们继续增加特征值的数值时会发现清晰度没有明显的变化,此时像素分辨率超出了人眼识别的敏感区,所以只需要在满足个人清晰度需求的情况下选取合适的特征值即可。

最后,还需要注意的一点是,用户所取的特征值k不能超过原矩阵的秩,否则将会报错!

————————————————

版权声明:本文首发于个人CSDN,未经允许严禁转载。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空