【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 脚本,我们可以轻松地完成这项任务,这对于图像处理和计算机视觉应用中的数据预处理非常有用。