当前位置:实例文章 » Python实例» [文章]【Python编程】将格式为ppm和pgm的图片批量转换为png或jpg格式的图片

【Python编程】将格式为ppm和pgm的图片批量转换为png或jpg格式的图片

发布人:shili8 发布时间:2024-05-14 19:04 阅读次数:7

# 批量将 PPM 和 PGM 格式图片转换为 PNG 或 JPG 格式图片在图像处理和计算机视觉应用中,将图像从一种格式转换为另一种格式是一项常见的任务。在本文中,我们将学习如何使用 Python 编程语言来批量转换 PPM(Portable Pixmap)和 PGM(Portable Graymap)格式的图像为 PNG 或 JPG 格式的图像。我们将使用 Python 的图像处理库 Pillow 来实现这个任务。

## 准备工作在开始之前,请确保已经安装了 Pillow 库。如果没有安装,可以通过以下命令使用 pip 进行安装:

bashpip install Pillow


## 实现步骤1. **导入必要的库**

我们首先需要导入 Pillow 库来处理图像,以及 os 库来操作文件和目录。

from PIL import Imageimport os


2. **定义转换函数**

我们将定义一个函数 `convert_images`,该函数将接受源文件夹路径、目标文件夹路径以及目标格式(PNG 或 JPG)作为参数,并将源文件夹中的所有 PPM 和 PGM 格式的图像转换为目标格式并保存到目标文件夹中。

def convert_images(source_folder, target_folder, target_format):
 # 获取源文件夹中所有文件的列表 files = os.listdir(source_folder)
 # 遍历文件夹中的每个文件 for file in files:
 # 检查文件是否以 '.ppm' 或 '.pgm' 结尾 if file.lower().endswith(('.ppm', '.pgm')):
 # 构建源文件路径 source_path = os.path.join(source_folder, file)
 #生成目标文件名 target_filename = os.path.splitext(file)[0] + '.' + target_format.lower()
 # 构建目标文件路径 target_path = os.path.join(target_folder, target_filename)
 # 打开源图像文件 with Image.open(source_path) as img:
 # 将图像转换为目标格式并保存 img.save(target_path)
 print(f"Converted {file} to {target_format} format")


3. **执行转换**

现在,我们可以调用 `convert_images` 函数并传入源文件夹路径、目标文件夹路径以及目标格式(PNG 或 JPG)作为参数来执行转换。

if __name__ == "__main__":
 # 指定源文件夹路径 source_folder = "source_images"
 # 指定目标文件夹路径 target_folder = "target_images"
 # 指定目标格式('png' 或 'jpg')
 target_format = 'png'
 # 如果目标文件夹不存在,则创建它 if not os.path.exists(target_folder):
 os.makedirs(target_folder)
 # 执行转换 convert_images(source_folder, target_folder, target_format)


## 示例假设我们有一个名为 `source_images` 的文件夹,其中包含一些 PPM 和 PGM 格式的图像文件。我们想将这些图像转换为 PNG 格式并保存到名为 `target_images` 的文件夹中。我们可以将上面的代码保存到一个名为 `image_converter.py` 的文件中,并在命令行中执行它:

bashpython image_converter.py


这将执行转换并在控制台上输出每个转换的结果。

## 总结在本文中,我们学习了如何使用 Python 中的 Pillow 库来批量将 PPM 和 PGM 格式的图像转换为 PNG 或 JPG 格式的图像。通过编写一个简单的 Python 脚本,我们可以轻松地完成这项任务,这对于图像处理和计算机视觉应用中的数据预处理非常有用。

相关标签:python图片
其他信息

其他资源

Top