在使用Keras的flow_from_directory
函数时,可以通过以下步骤沿深度轴组合两个RGB图像,以准备6通道输入数据:
dataset/
├── cat/
│ ├── cat_image1.jpg
│ ├── cat_image2.jpg
│ └── ...
└── dog/
├── dog_image1.jpg
├── dog_image2.jpg
└── ...
from keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing.image import img_to_array, load_img
import numpy as np
ImageDataGenerator
对象,并设置其参数,包括数据增强和预处理选项:datagen = ImageDataGenerator(
rescale=1./255, # 图像归一化
rotation_range=20, # 随机旋转角度范围
width_shift_range=0.2, # 随机水平平移范围
height_shift_range=0.2, # 随机垂直平移范围
shear_range=0.2, # 随机错切变换范围
zoom_range=0.2, # 随机缩放范围
horizontal_flip=True # 随机水平翻转
)
flow_from_directory
函数加载数据集,并设置参数,包括图像尺寸、批量大小和类别模式:train_generator = datagen.flow_from_directory(
'dataset',
target_size=(224, 224), # 图像尺寸
batch_size=32, # 批量大小
class_mode='categorical' # 类别模式
)
combined_images = np.empty((len(train_generator.filenames), 224, 224, 6))
for i, (image, label) in enumerate(train_generator):
image1 = image[:, :, :, :3] # 第一个RGB图像
image2 = image[:, :, :, 3:] # 第二个RGB图像
combined_images[i] = np.concatenate([image1, image2], axis=3) # 沿深度轴组合两个RGB图像
现在,combined_images
数组中的每个元素都是一个6通道的输入数据,可以用于训练模型。
请注意,以上代码示例中的参数和路径仅供参考,你需要根据自己的数据集和需求进行相应的调整。
关于Keras和深度学习的更多信息,你可以参考腾讯云的相关产品和文档:
领取专属 10元无门槛券
手把手带您无忧上云