📜  从文件夹中读取图像 python (1)

📅  最后修改于: 2023-12-03 15:36:18.893000             🧑  作者: Mango

从文件夹中读取图像 Python

Python提供了许多模块和库,可以轻松地读取和处理图像。在本文中,我们将了解如何从文件夹中读取图像并对其进行处理。

步骤

以下是从文件夹中读取图像的基本步骤:

  1. 导入所需的库和模块。
  2. 使用os模块访问文件夹中的图像。
  3. 载入图像并进行必要的处理和操作。
导入所需的库和模块

首先,我们需要 oscv2 两个库来读取和操作图像。

import os
import cv2
使用os模块访问文件夹中的图像

接下来,我们需要使用 os 模块来访问文件夹中的图像。我们可以使用 listdir 函数来访问文件夹中的文件,并使用 Python 的列表来存储图像文件。

path = 'path/to/folder'
image_list = []
for filename in os.listdir(path):
    if filename.endswith('.jpg'):           # 仅保留jpg文件
        image_list.append(os.path.join(path,filename))

在这里,我们首先定义文件夹的路径。然后,我们使用 os.listdir函数访问文件夹中的所有文件。在这个例子中,我们只关心 .jpg文件,因此我们只将那些以 .jpg结尾的文件添加到图像列表中,忽略其他文件。

最后,我们将图像文件的完整路径添加到图像列表中,以备后续使用。

载入图像并进行必要的处理和操作。

现在,我们已经访问了文件夹中的所有图像,并且我们有了一个包含每个图像完整路径的图像列表。我们可以使用 OpenCV 中的 cv2.imread 函数来加载图像并对其进行处理。

for img_path in image_list:
    image = cv2.imread(img_path)
    # 对图像进行处理
    # 显示图像
    cv2.imshow('image', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

在这里,我们使用了一个简单的 for循环来遍历列表中的每个图像文件。然后,我们使用 cv2.imread 函数载入图像。在这个例子中,我们简单地显示了读取的图像。

完整代码
import os
import cv2

path = 'path/to/folder'

# 创建一个列表来存储所有图像文件
image_list = []

# 遍历文件夹中的所有文件
for filename in os.listdir(path):
    if filename.endswith('.jpg'):           # 只保留jpg文件
        image_list.append(os.path.join(path,filename))

# 遍历列表中的每个图像文件
for img_path in image_list:
    # 加载图像
    image = cv2.imread(img_path)
    # 对图像进行处理
    # 显示图像
    cv2.imshow('image', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

通过这个例子,你可以轻松地读取文件夹中的所有图像并对它们进行处理。您还可以使用其他库,如 Pillowmatplotlib,来对图像进行更高级的操作和可视化。