问题:
如何将 PIL 图像转换为 NumPy 数组执行更快的逐像素转换,然后在修改后将其加载回 PIL 图像数组?
答案:
转换为 NumPy 数组:
要将 PIL 图像转换为 NumPy 数组,请使用以下代码:
import numpy as np from PIL import Image pic = Image.open("foo.jpg") pix = np.array(pic)
这将创建一个包含像素值的形状(高度、宽度、通道)的 3D 数组。
转换回 PIL 图像:
要将修改后的数组加载回 PIL 图像,有多种方法:
1.使用 Image.putdata():
将数组转换回元组序列:
data = list(tuple(pixel) for pixel in pix) pic.putdata(data)
2.使用 Image.fromarray()(PIL 1.1.6 或更高版本):
只需将修改后的数组分配给图像:
pic = Image.fromarray(pix)
附加说明:
以上是如何将 PIL 图像转换为 NumPy 数组并返回?的详细内容。更多信息请关注PHP中文网其他相关文章!