NumPy 是 Python 科学计算的基础数据包,它被大量的应用于机器学习领域,比如图像识别、自然语言处理、数据挖掘等。想了解学习 NumPy,可跳转至《NumPy快速入门教程》。
ndarray 是 NumPy 中的数组类型,也称为 ndarray 数组,该数组可以与 Pillow 的 PIL.Image 对象实现相互转化。
下面通过 ndarray 数组构建一个 Image 对象,并将图像显示出来。示例如下:
- #导入相关的包
- from PIL import Image
- #使用numpy之前需要提前安装
- import numpy as np
- #创建 300*400的图像,3个颜色通道
- array = np.zeros([300,400,3],dtype=np.uint8)
- #rgb色彩模式
- array[:,:200]=[255,0,0]
- array[:,200:]=[255,255,0]
- img = Image.fromarray(array)
- img.show()
- img.save("C:/Users/Administrator/Desktop/数组生成图像.png")
输出结果如下所示:
下面将图像以 ndarray 数组的形式进行输出,示例如下:
- from PIL import Image
- import numpy as np
- img = Image.open("C:/Users/Administrator/Desktop/大熊猫.png")
- img.show()
- #Image图像转换为ndarray数组
- img_2 = np.array(img)
- print(img_2)
- #ndarray转换为Image图像
- arr_img = Image.fromarray(img_2)
- #显示图片
- arr_img.show()
- #保存图片
- arr_img.save("C:/Users/Administrator/Desktop/arr_img.png")
图片展示结果:
组成图片的像素点数组如下所示: