Python如何读取文件夹中的图片

在日常开发中,我们经常需要处理文件夹中的图片数据,例如批量处理图片、图片分类等。在Python中,我们可以使用PIL库来读取文件夹中的图片数据,并进一步处理。本文将介绍如何使用Python读取文件夹中的图片,并提供示例代码。

实际问题

假设我们有一个文件夹,其中包含了多张图片,我们希望能够读取这些图片并展示出来,或者进行其他处理,比如压缩、裁剪等。我们需要解决以下问题:

  1. 如何读取文件夹中的图片数据?
  2. 如何展示读取的图片数据?
  3. 如何进一步处理图片数据?

解决方案

1. 读取文件夹中的图片数据

我们可以使用osPIL库来读取文件夹中的图片数据。下面是示例代码:

import os
from PIL import Image

folder_path = "path_to_folder"

for filename in os.listdir(folder_path):
    if filename.endswith(".jpg") or filename.endswith(".png"):
        img = Image.open(os.path.join(folder_path, filename))
        img.show()

上述代码中,我们首先指定文件夹的路径folder_path,然后使用os.listdir()方法遍历文件夹中的所有文件,筛选出图片文件,并使用PIL库的Image.open()方法打开图片并展示出来。

2. 进一步处理图片数据

一旦我们读取了文件夹中的图片数据,我们可以进一步处理这些图片数据,比如压缩、裁剪、旋转等。下面是一个简单的示例代码,对图片进行压缩和保存:

for filename in os.listdir(folder_path):
    if filename.endswith(".jpg") or filename.endswith(".png"):
        img = Image.open(os.path.join(folder_path, filename))
        img_resized = img.resize((200, 200))
        img_resized.save(os.path.join(folder_path, f"resized_{filename}"))

上述代码中,我们对每张图片进行了压缩处理,并保存为新的文件。

类图

classDiagram
    class ImageReader{
        <<module>>
        - folder_path: str
        + read_images(): List[Image]
        + process_images(images: List[Image]): None
    }

饼状图

pie
    title File Types Distribution
    "jpg": 70
    "png": 30

结论

通过本文的介绍,我们学习了如何使用Python读取文件夹中的图片数据,并展示、处理这些图片数据。我们使用了PIL库来操作图片,通过示例代码演示了读取、展示、处理图片的过程。希望本文对你有所帮助,谢谢阅读!