东莞免费企业网站模板推广,中国软件企业,山东教育网站开发公司,网站备注销诸神缄默不语-个人CSDN博文目录
PIL#xff08;Python Imaging Library#xff09;是Python中一个强大的图像处理库#xff0c;尽管其已不再更新#xff0c;但其后续版本Pillow提供了更多的功能和更好的兼容性。本文将重点介绍Pillow库中的open()函数、fromarray()函数以及…诸神缄默不语-个人CSDN博文目录
PILPython Imaging Library是Python中一个强大的图像处理库尽管其已不再更新但其后续版本Pillow提供了更多的功能和更好的兼容性。本文将重点介绍Pillow库中的open()函数、fromarray()函数以及save()函数并通过示例代码展示它们的用法。 文章目录 一、open()函数二、fromarray()函数三、save()函数四、综合示例 一、open()函数
open()函数用于打开一个图像文件并返回一个Image对象。其基本用法如下
from PIL import Image# 打开图像文件
img Image.open(path_to_image.jpg)# 显示图像
img.show()参数说明
path_to_image图像文件的路径。
示例
假设我们有一张名为example.jpg的图片我们可以这样打开并显示它
from PIL import Imageimg Image.open(example.jpg)
img.show()二、fromarray()函数
fromarray()函数用于将NumPy数组转换为Image对象。这在处理大量图像数据或需要与其他库如OpenCV交互时非常有用。其基本用法如下
import numpy as np
from PIL import Image# 创建一个NumPy数组
array np.random.rand(100, 100, 3) * 255 # 生成一个100x100的随机RGB图像# 将NumPy数组转换为Image对象
img Image.fromarray(array.astype(uint8))# 显示图像
img.show()参数说明
array输入的NumPy数组。dtype可选参数指定数组的数据类型默认为uint8。
示例
假设我们有一个NumPy数组image_array我们可以这样将其转换为Image对象并显示
import numpy as np
from PIL import Imageimage_array np.random.rand(100, 100, 3) * 255
img Image.fromarray(image_array.astype(uint8))
img.show()三、save()函数
save()函数用于将Image对象保存为指定格式的图像文件。其基本用法如下
from PIL import Image# 打开图像文件
img Image.open(example.jpg)# 保存图像为PNG格式
img.save(example.png)参数说明
filename保存的文件名包括路径和扩展名。format可选参数指定保存的图像格式默认为文件扩展名指定的格式。
示例
假设我们已经有一个Image对象img我们可以这样将其保存为PNG格式
img.save(example.png)四、综合示例
下面是一个综合示例展示了如何使用open()、fromarray()和save()函数完成一系列图像处理任务
import numpy as np
from PIL import Image# 打开图像文件
img Image.open(example.jpg)# 将Image对象转换为NumPy数组
array np.array(img)# 对数组进行处理例如灰度化
gray_array np.dot(array[..., :3], [0.2989, 0.5870, 0.1140])# 将处理后的数组转换回Image对象
gray_img Image.fromarray(gray_array.astype(uint8))# 保存处理后的图像
gray_img.save(example_gray.png)通过以上示例我们可以看到Pillow库在图像处理中的强大功能。希望本文对你有所帮助