使用多个子目录中的系列灰度图像创建4维ndarray的步骤如下:
以下是一个示例代码:
import numpy as np
import os
import cv2
# 定义图像目录的根路径
root_dir = "path/to/root/directory"
# 定义图像尺寸
image_height = 256
image_width = 256
# 定义通道数(灰度图像通道数为1)
channels = 1
# 定义空列表用于存储图像数据
image_data = []
# 遍历每个子目录
for subdir in os.listdir(root_dir):
subdir_path = os.path.join(root_dir, subdir)
# 遍历每个子目录中的图像文件
for filename in os.listdir(subdir_path):
image_path = os.path.join(subdir_path, filename)
# 读取图像数据并转换为灰度图像
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
# 调整图像尺寸
image = cv2.resize(image, (image_width, image_height))
# 将图像数据添加到列表中
image_data.append(image)
# 将图像数据堆叠为4维ndarray
image_data = np.stack(image_data, axis=0)
# 打印ndarray的形状
print(image_data.shape)
这段代码将遍历指定根目录下的每个子目录,并读取每个子目录中的图像文件。然后,它将图像数据转换为灰度图像,并将其调整为指定的尺寸。最后,它将所有图像数据堆叠为一个4维ndarray,并打印出ndarray的形状。
请注意,这只是一个示例代码,你需要根据实际情况进行适当的修改和调整。
领取专属 10元无门槛券
手把手带您无忧上云