Python逐个读取图片

在使用Python进行图像处理或者机器学习任务时,常常需要逐个读取大量的图片。本文将介绍如何使用Python逐个读取图片,并提供示例代码。

Python中的图像处理库

Python中有许多强大的图像处理库,如PIL(Pillow)、OpenCV和scikit-image等。这些库提供了丰富的功能,可以用于图像的加载、处理、保存等操作。

对于本文的示例代码,我们将使用PIL库。你可以使用以下命令安装该库:

pip install pillow

逐个读取图片的步骤

要逐个读取图片,我们需要完成以下几个步骤:

  1. 获取图片文件夹中的所有图片路径。
  2. 遍历每个图片文件路径。
  3. 使用图像处理库加载并处理每个图片。

下面是一个完整的示例代码,演示了如何逐个读取图片,并打印每个图片的尺寸:

from PIL import Image
import os

# 图片文件夹路径
folder_path = "path/to/folder"

# 获取文件夹中的所有图片路径
image_paths = [os.path.join(folder_path, file_name) for file_name in os.listdir(folder_path) if file_name.endswith(".jpg")]

# 遍历每个图片路径
for image_path in image_paths:
    # 使用PIL加载图片
    image = Image.open(image_path)
    
    # 打印图片尺寸
    print("Image Size:", image.size)

    # 可以在这里添加其他图像处理操作

代码解析

让我们详细解析一下上面的示例代码:

首先,我们导入了Image类和os模块。Image类是PIL库中的一个类,用于加载和处理图片。os模块用于与操作系统进行交互,例如获取文件路径等操作。

接下来,我们定义了一个变量folder_path,用于指定图片文件夹的路径。你需要将其替换为你实际的文件夹路径。

然后,我们使用os.listdir()函数获取文件夹中的所有文件名,并使用列表推导式筛选出以.jpg为后缀的文件。最后,我们使用列表推导式和os.path.join()函数生成每个图片的完整路径,并将这些路径保存在image_paths列表中。

在遍历每个图片路径的循环中,我们使用Image.open()函数加载每个图片,并将其赋值给变量image。然后,我们可以访问image的属性,例如size,以获取图片的尺寸。

你可以在注释的位置添加其他的图像处理操作,例如调整大小、裁剪、旋转等。

总结

本文介绍了如何使用Python逐个读取图片。我们使用PIL库加载和处理图片,并提供了示例代码。你可以根据自己的需求,进一步扩展这些代码,实现更复杂的图像处理任务。希望本文对你有所帮助!