此处训练集只有30张图片,为训练神经网络,必须将原有数据集进行增强。
原始数据集是有标签数据,增强时为了保持标签和训练集的同步,将train和label分别转换成矩阵,然后将label的第一个通道放在train的第二个通道出,做数据增强。
此处的train和label为灰度图像,虽然是三通道图像,但是只有第一个通道是有值的,第二和第三通道均为0。
img_t = load_img(path_train + "/" + str(i) + '.' + imgtype) # 读入train
img_l = load_img(path_label + '/' + str(i) + '.' + imgtype) # 读入label
x_t = img_to_array(img_t)
x_l = img_to_array(img_l)
x_t[:, :, 2] = x_l[:, :, 0] # 把label当成train的第三个通道
img_tmp = array_to_img(x_t)
此处的数据增强使用了keras的数据增强方式:keras.preprocessing.image.ImageDataGenerator
。
函数详情见