📜  将 png 加载到 python (1)

📅  最后修改于: 2023-12-03 15:09:32.484000             🧑  作者: Mango

将 PNG 加载到 Python

PNG 格式是一种常用的图像文件格式,经常用于在网页上显示图片,以及在各种应用程序中使用。在 Python 中处理 PNG 图像文件也是很常见的,本文将介绍如何在 Python 中加载和处理 PNG 文件。

1. 安装依赖库

首先,我们需要安装 Python 中专门用于处理图像的库 Pillow。可以使用 pip 进行安装:

pip install Pillow
2. 加载 PNG 文件

加载 PNG 文件只需要几行代码:

from PIL import Image

# 打开 PNG 文件
img = Image.open('example.png')

其中 Image 类来自于 Pillow 库,open() 方法可以打开一个文件并返回一个 Image 对象。这里将文件名传递给 open() 方法即可。

现在 img 对象就是一个包含 PNG 图像的 Image 对象了。

3. 获取 PNG 图像信息

可以使用 Image 类的属性和方法获取 PNG 图像的各种信息,例如:

  • size: 图像的大小(宽度和高度)
  • format: 图像的格式,通常是 'PNG'
  • mode: 图像的模式,通常是 'RGB' 或 'RGBA'
  • getextrema(): 获取图像中所有像素点的最小值和最大值
  • 等等...
# 打印 PNG 图像的信息
print('Size:', img.size)
print('Format:', img.format)
print('Mode:', img.mode)

min_val, max_val = img.getextrema()
print('Pixel Values Range:', min_val, max_val)
4. 显示 PNG 图像

在 Jupyter Notebook 或者其他支持图像展示的 Python 环境中,可以用 imshow() 方法显示 PNG 图像:

from matplotlib import pyplot as plt

# 显示 PNG 图像
plt.imshow(img)
plt.axis('off')  # 不显示坐标轴
plt.show()
5. 处理 PNG 图像

使用 Pillow 库,我们可以很方便地处理 PNG 图像,包括:

  • 剪切、旋转图像
  • 调整图像大小和分辨率
  • 调整图像对比度和亮度
  • 等等...

下面是一些例子:

调整图像尺寸和保存
# 调整图像尺寸
img_resized = img.resize((img.width // 2, img.height // 2))

# 保存调整后的图像
img_resized.save('example_resized.png')
旋转和翻转图像
# 旋转图像
img_rotated = img.rotate(45)

# 翻转图像
img_flipped = img.transpose(Image.FLIP_LEFT_RIGHT)
调整图像亮度和对比度
# 调整图像亮度(变暗)
from PIL import ImageEnhance

enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(0.5)

# 调整图像对比度
enhancer = ImageEnhance.Contrast(img)
img_contrast = enhancer.enhance(2)
总结

本文介绍了如何加载和处理 PNG 图像文件,包括安装依赖库、加载 PNG 文件、获取图像信息、显示图像和处理图像等。希望本文对你有所帮助!