【数据分析与可视化】对图像进行SVD分解并重构图像实战(附源码)

简介: 【数据分析与可视化】对图像进行SVD分解并重构图像实战(附源码)

需要源码和图片请点赞关注收藏后评论区留言私信~~~

下面对图像数据进行SVD分解,分别选取部分特征值进行图像重构并显示图像

一、SVD压缩原理

压缩原理(SVD的降维原理)

奇异值可以被看作成一个矩阵的代表值,或者说,奇异值能够代表这个矩阵的信息。

当奇异值越大时,它代表的信息越多。因此,我们取前面若干个最大的奇异值,就可以基本上还原出数据本身

二、SVD分解实战

首先打开图像并显示

然后对图像数据进行SVD变换

分别只利用30个特征值和120个特征值重构图像

可以明显看出 30个特征值重构的图像比较模糊,画质也比较差,而120个特征值重构的图像明显更加清晰一些

三、代码

部分代码如下 需要全部代码请点赞关注收藏后评论区留言私信~~~

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
im = np.array(Image.open('data/lena_gray.tif'))
#打开图像数据并转换为数组
plt.imshow(im,cmap = 'Greys_r')
plt.title("src")
plt.axis('off')
U,sigma,VT = np.linalg.svd(im)
print(U)
print('前30个特征值为:\n',sigma[:30])
c = 30
r1 = (U[:,:c]).dot(np.diag(sigma[:c])).dot(VT[:c,:])
c = 120
r2 = (U[:,1)
plt.imshow(r1.astype(np.uint8),cmap = 'Greys_r')
plt.title("nums_sigma = 30")
plt.axis('off')
plt.subplot(1,2,2)
plt.imshow(r2.astype(np.uint8),cmap = 'Greys_r')
plt.title("nums_sigma = 120")
plt.axis('off')

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
3月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
146 5
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
3月前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
3月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
3月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
141 5
|
4月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
490 0
|
4月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
223 0
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
95 0
|
3月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
198 4
数据分析的 10 个最佳 Python 库
|
3月前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。