利用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函数加载图像数据,并打印出图像数组和标签数据的维度。
