欢迎访问宙启技术站
智能推送

利用load_data函数读取图像数据的Python示例代码分享

发布时间:2023-12-13 17:53:42

load_data函数是一个用于加载图像数据的函数。它接受一个参数作为输入目录,该目录包含图像文件。load_data函数将读取目录中的所有图像文件,并将它们转换为适当的数据格式。

下面是一个示例代码,用于演示如何使用load_data函数加载图像数据:

import os
import cv2
import numpy as np

def load_data(input_dir):
    images = []
    labels = []

    # 遍历输入目录中的所有图像文件
    for file in os.listdir(input_dir):
        if file.endswith(".jpg") or file.endswith(".png"):
            # 读取图像文件
            image = cv2.imread(os.path.join(input_dir, file))
            
            # 将图像文件转换为灰度图像
            gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
            
            # 将灰度图像转换为numpy数组
            image_array = np.array(gray_image)
            
            # 将图像数组添加到列表中
            images.append(image_array)
            
            # 将图像的标签添加到列表中
            if "cat" in file:
                labels.append(0)
            elif "dog" in file:
                labels.append(1)
    
    # 返回图像数组和标签数组
    return np.array(images), np.array(labels)

# 使用load_data函数加载图像数据
input_dir = "path/to/input/directory"
images, labels = load_data(input_dir)

# 打印加载的图像数据的维度
print("图像数据维度:", images.shape) 
print("标签数据维度:", labels.shape)

上述示例代码中,load_data函数要求输入一个目录的路径作为参数。该函数使用os模块遍历输入目录中的所有图像文件,并利用OpenCV库中的cv2.imread函数读取图像文件。然后,将读取的图像文件转换为灰度图像,并再将其转换为numpy数组。最后,将图像数组和图像标签分别添加到images和labels列表中。load_data函数返回的是numpy数组。

在示例代码的最后,我们使用load_data函数加载图像数据,并打印出图像数组和标签数据的维度。