Python读取文件夹中的图片

在日常开发中,我们经常需要处理图片数据。而对于大量的图片数据,如何高效地读取和处理成为一个问题。本文将介绍如何使用Python读取文件夹中的图片,并给出相应的代码示例。

1. 准备工作

在开始之前,我们需要安装Pillow库,它是Python中一个强大的图像处理库。使用以下命令进行安装:

pip install pillow

2. 读取文件夹中的图片

对于文件夹中的图片,我们可以使用Python的glob模块来获取所有的图片文件路径,然后使用Pillow库来读取图片数据。

下面是一个示例代码,我们假设图片文件夹为images,其路径为./images/

from PIL import Image
import glob

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

# 获取图片文件列表
file_list = glob.glob(folder_path + '*.jpg')

# 遍历图片文件列表
for file in file_list:
    # 读取图片
    img = Image.open(file)
    
    # TODO: 对图片进行处理,如裁剪、缩放等操作

上述代码中,我们首先导入了PIL库中的Image模块,以及glob模块。然后使用glob.glob函数获取文件夹中所有以.jpg为后缀的图片文件路径,并将其保存在file_list中。

接下来,我们使用for循环遍历file_list,并使用Image.open函数读取每个图片文件。这样我们就可以得到一个Image对象,可以对其进行各种图像处理操作。

在上述代码中的TODO部分,我们可以进行各种对图片的操作,比如裁剪、缩放等。这里只是一个示例,具体的操作根据实际需求来定。

3. 图片处理示例

下面给出一个简单的图片处理示例,假设我们需要将图片裁剪成正方形并缩放到指定大小。我们可以使用Image.thumbnail函数来实现:

from PIL import Image
import glob

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

# 获取图片文件列表
file_list = glob.glob(folder_path + '*.jpg')

# 遍历图片文件列表
for file in file_list:
    # 读取图片
    img = Image.open(file)
    
    # 裁剪图片为正方形
    width, height = img.size
    crop_size = min(width, height)
    left = (width - crop_size) // 2
    upper = (height - crop_size) // 2
    right = left + crop_size
    lower = upper + crop_size
    img = img.crop((left, upper, right, lower))
    
    # 缩放图片到指定大小
    img.thumbnail((200, 200))
    
    # TODO: 其他操作,如保存图片等

上述代码中,我们首先使用Image.open函数读取每个图片文件,并保存在img变量中。

接下来,我们使用crop函数来裁剪图片为正方形。首先获取图片的宽度和高度,然后根据两者的较小值确定裁剪的大小。通过计算左上角和右下角的坐标,调用crop函数进行裁剪。

最后,我们使用thumbnail函数将图片缩放到指定大小。这里我们将图片缩放为200x200的大小。

4. 总结

本文介绍了如何使用Python读取文件夹中的图片,并给出了相应的代码示例。通过使用Pillow库和glob模块,我们可以快速便捷地读取大量的图片数据,并进行各种图像处理操作。

当然,上述代码中的图片处理示例只是一个简单的示例,实际的图像处理操作可能更加复杂。读者可以根据具体需求进行扩展和优化。

希望本文对读者在处理图片数据方面有所帮助!