python 图像压缩 numpy
时间: 2023-11-10 19:07:36 浏览: 248
Python实现图片压缩.py
numpy可以用于图像压缩,其中最常用的方法是SVD(奇异值分解)。下面是一个简单的例子,展示了如何使用numpy进行图像压缩:
```python
import numpy as np
from PIL import Image
# 加载图像
img = Image.open('example.jpg')
img.show()
# 将图像转换为numpy数组
img_arr = np.array(img)
# 对图像进行SVD分解
U, S, V = np.linalg.svd(img_arr)
# 选择前50个奇异值
k = 50
U_k = U[:, :k]
S_k = np.diag(S[:k])
V_k = V[:k, :]
img_arr_compressed = np.dot(U_k, np.dot(S_k, V_k))
# 将压缩后的图像转换为PIL图像并显示
img_compressed = Image.fromarray(np.uint8(img_arr_compressed))
img_compressed.show()
```
阅读全文