13.Pillow和ndarray数组

NumPy 是 Python 科学计算的基础数据包,它被大量的应用于机器学习领域,比如图像识别、自然语言处理、数据挖掘等。

ndarray 是 NumPy 中的数组类型,也称为 ndarray 数组,该数组可以与 Pillow 的 PIL.Image 对象实现相互转化。

ndarray数组创建图像

下面通过 ndarray 数组构建一个 Image 对象,并将图像显示出来。示例如下:

  1. #导入相关的包
  2. from PIL import Image
  3. #使用numpy之前需要提前安装
  4. import numpy as np
  5. #创建 300*400的图像,3个颜色通道
  6. array = np.zeros([300,400,3],dtype=np.uint8)
  7. #rgb色彩模式
  8. array[:,:200]=[255,0,0]
  9. array[:,200:]=[255,255,0]
  10. img = Image.fromarray(array)
  11. img.show()
  12. img.save("C:/Users/Administrator/Desktop/数组生成图像.png")

输出结果如下所示:

pillow图像处理
图1:NumPy数组创建图像

图像转化为ndarray数组

下面将图像以 ndarray 数组的形式进行输出,示例如下:

  1. from PIL import Image
  2. import numpy as np
  3.  
  4. img = Image.open("C:/Users/Administrator/Desktop/大熊猫.png")
  5. img.show()
  6. #Image图像转换为ndarray数组
  7. img_2 = np.array(img)
  8. print(img_2)
  9. #ndarray转换为Image图像
  10. arr_img = Image.fromarray(img_2)
  11. #显示图片
  12. arr_img.show()
  13. #保存图片
  14. arr_img.save("C:/Users/Administrator/Desktop/arr_img.png")

图片展示结果:

pillow图像处理
图2:显示原图
 

组成图片的像素点数组如下所示:

posted @ 2022-07-31 16:37  随遇而安==  阅读(137)  评论(0)    收藏  举报