PIL图像转换为Numpy数组

PIL图像转换为Numpy数组

参考:PIL Image to Numpy Array

在Python中,我们经常会使用PIL库(Python Imaging Library)来处理图像,而Numpy库则是用来进行数组操作的利器。有时候我们需要将PIL图像转换为Numpy数组进行进一步的处理,本文将详细介绍如何实现这一过程。

安装所需库

在开始之前,我们首先需要安装PIL库和Numpy库。你可以使用以下命令在命令行中进行安装:

pip install pillow
pip install numpy

将PIL图像转换为Numpy数组

接下来我们使用以下代码来将PIL图像转换为Numpy数组。

在本文中使用的图片均为如下图所示,路径为D:/web_numpywhere/output/img/pil_image_to_numpy.jpg,可以自行修改。

PIL图像转换为Numpy数组

示例1:将图像转为数组元素

from PIL import Image
import numpy as np

# 打开PIL图像
image = Image.open("D:/web_numpywhere/output/img/pil_image_to_numpy.jpg")

# 将PIL图像转换为numpy数组
image_array = np.array(image)

print(image_array)

运行结果:

PIL图像转换为Numpy数组

示例2:获取图像的尺寸和数据类型

from PIL import Image
import numpy as np

# 打开PIL图像
image = Image.open("D:/web_numpywhere/output/img/pil_image_to_numpy.jpg")

# 将PIL图像转换为numpy数组
image_array = np.array(image)

# 打印numpy数组的形状和数据类型
print("数组形状:", image_array.shape)
print("数据类型:", image_array.dtype)

运行结果:

PIL图像转换为Numpy数组

其中,(320, 800, 3)分别表示图像转为数组后的高度、宽度和通道数,uint8表示数据类型为8位无符号整数。现在就成功将PIL图像转换为Numpy数组了。

总结

本文介绍了如何将PIL图像转换为Numpy数组,通过这种转换可以方便地在Python中对图像进行各种数组操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程