迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中将 NumPy 数组转换为 PIL 图像

作者:迹忆客 最近更新:2023/03/17 浏览次数:

本篇文章解释了我们如何使用 PIL 包中的 Image.fromarray() 将 NumPy 数组转换为 PIL 图像。Python Imaging Library (PIL)是 Python 中一个具有各种图像处理功能的库。

Image.fromarray() 函数将数组对象作为输入,并返回由数组对象制作的图像对象。

在 Python 中把一个 NumPy 数组转换为 PIL 图像

import numpy as np
from PIL import Image

image = Image.open("lena.png")
np_array = np.array(image)

pil_image=Image.fromarray(np_array)
pil_image.show()

输出:

将 NumPy 数组转换为 PIL 图像 Python

它将使用 open() 方法从 Image 中读取当前工作目录下的图像 lena.png,并返回一个图像对象。

然后我们使用 numpy.array() 方法将这个图像对象转换为一个 NumPy 数组。

我们使用 Image.fromarray() 函数将该数组转换回 PIL 图像对象,最后使用 show() 方法显示该图像对象。

import numpy as np 
from PIL import Image 

array = np.random.randint(255, size=(400, 400),dtype=np.uint8)
image = Image.fromarray(array)
image.show() 

输出:

将自创的 NumPy 数组转换为 PIL 图像 Python

在这里,我们创建一个大小为 400x400 的 NumPy 数组,其随机数范围为 0255,然后使用 Image.fromarray() 函数将数组转换为 Image 对象,并使用 show() 方法显示 image

用 Matplotlib Colormap 将 NumPy 数组转换为 PIL 图像 Python

import numpy as np 
from PIL import Image 
import matplotlib.pyplot as plt 
from matplotlib import cm

image_array=plt.imread("lena.jpg")
image_array=image_array/255
image = Image.fromarray(np.uint8(cm.plasma(image_array)*255))
image.show()

输出:

将 NumPy 数组转换为 PIL 图像 Python 应用 Matplotlib Colormap

它应用了 Matplotlib 包中的 plasma colormap。要将一个 colormap 应用到一个图像上,我们首先要将 array 归一化,最大值为 1。在上面的例子中,image_array 中元素的最大值是 255。因此,我们将 image_array 除以 255 进行归一化。

然后,我们将 colormap 应用到 image_array 中,并再次乘以 255。然后,我们使用 np.uint8() 方法将元素转换为 int 格式。最后,我们使用 Image.fromarray() 函数将数组转换为图像。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便