Python实现批量一张一张读取图片

在日常工作和生活中,我们经常需要处理大量的图片文件,而且有时候需要对这些图片进行一些批量处理的操作。在Python中,有很多强大的库可以帮助我们实现这些功能,比如PIL(Python Imaging Library)或者其后继者Pillow库。本文将介绍如何使用Python批量一张一张读取图片,并展示一些示例代码。

安装Pillow库

在使用Python读取图片之前,首先需要安装Pillow库。你可以使用pip命令来安装Pillow库,只需要在命令行中输入以下命令:

pip install Pillow

安装完成后,就可以开始使用Pillow库来操作图片文件了。

读取单张图片

在Python中,可以使用Pillow库来读取单张图片。下面是一个简单的示例代码,演示了如何读取一张图片并显示:

from PIL import Image

# 打开一张图片
img = Image.open('example.jpg')

# 显示图片
img.show()

以上代码中,我们首先导入Image类,然后使用Image.open()方法打开一张图片,并使用show()方法显示这张图片。你只需要将example.jpg替换为你自己的图片路径即可。

批量读取图片

有时候,我们需要批量读取图片并对这些图片进行处理。下面是一个示例代码,演示了如何批量读取指定文件夹下的所有图片:

import os
from PIL import Image

# 指定图片文件夹路径
folder_path = 'images/'

# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
    if file_name.endswith('.jpg') or file_name.endswith('.png'):
        # 拼接文件路径
        file_path = os.path.join(folder_path, file_name)
        # 打开图片
        img = Image.open(file_path)
        # 处理图片
        # 这里可以添加你的处理逻辑

以上代码中,我们首先指定了一个图片文件夹的路径'images/',然后使用os.listdir()函数遍历文件夹中的所有文件。对于每一个以.jpg.png结尾的文件,我们使用Image.open()方法打开图片并进行处理。

示例:批量缩放图片

下面是一个示例代码,演示了如何批量读取图片并对这些图片进行缩放操作:

import os
from PIL import Image

# 指定图片文件夹路径
folder_path = 'images/'

# 指定缩放比例
scale = 0.5

# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
    if file_name.endswith('.jpg') or file_name.endswith('.png'):
        # 拼接文件路径
        file_path = os.path.join(folder_path, file_name)
        # 打开图片
        img = Image.open(file_path)
        # 缩放图片
        width, height = img.size
        new_size = (int(width * scale), int(height * scale))
        img_resized = img.resize(new_size)
        # 保存图片
        img_resized.save('resized_' + file_name)

以上代码中,我们指定了一个缩放比例scale,然后对每张图片进行缩放操作,并保存为新的文件。

总结

本文介绍了如何使用Python批量一张一张读取图片,并展示了一些示例代码。通过Pillow库,我们可以方便地对图片文件进行操作,实现各种图片处理需求。希望本文对你有所帮助,谢谢阅读!


gantt
    title Python批量读取图片示例代码甘特图
    section 读取单张图片
    打开图片: done, 2022-10-01, 1d
    显示图片: done, after 打开图片, 1d
    section 批量读取图片
    遍历文件夹: done, 2022-10-02, 1d
    批量处理: done, after 遍历文件夹, 2d
    section 示例:批量缩放图片
    缩放图片: done