Image.fromarray() 转化为np.ndarray
时间: 2024-05-26 10:07:01 浏览: 26
Image.fromarray() 是PIL库中的一个函数,用于将一个numpy数组转换为Image对象。它的作用是将一个ndarray对象转换为一个PIL图像对象,以便进行图像处理和操作。
使用Image.fromarray()函数可以将一个numpy数组转换为Image对象,然后可以使用PIL库提供的各种图像处理方法对图像进行操作。这个函数接受一个ndarray对象作为参数,并返回一个对应的Image对象。
需要注意的是,Image.fromarray()函数要求输入的ndarray对象的数据类型必须是无符号整数类型(uint8、uint16等),或者是浮点类型(float32、float64等)。如果输入的ndarray对象的数据类型不符合要求,需要先进行类型转换。
以下是一个示例代码,展示了如何使用Image.fromarray()函数将一个numpy数组转换为Image对象:
```python
import numpy as np
from PIL import Image
# 创建一个numpy数组
arr = np.array([[255, 0, 0], [0, 255, 0], [0, 0, 255]], dtype=np.uint8)
# 使用Image.fromarray()函数将numpy数组转换为Image对象
img = Image.fromarray(arr)
# 对Image对象进行操作,例如保存为文件
img.save('output.png')
```
在上面的示例中,我们首先创建了一个3x3的numpy数组arr,然后使用Image.fromarray()函数将其转换为Image对象img。最后,我们可以对img进行各种图像处理操作,例如保存为文件。