数据增强(扩充图像,以增加数据集)

文章目录

  • 1.数据增强
  • 2.相关代码(python+keras)

1.数据增强

这里,笔者主要讲的是,深度学习中数据增强的相关手段。通过数据增强,可以达到扩充数据集的目的。

对一副图片,做如下图所示的变换,可以达到扩充图像数据集的目的。甚至,有时,可以在图片中,加入一些噪声,来达到扩充数据集的目的。

数据增强(扩充图像,以增加数据集)_第1张图片
数据增强(扩充图像,以增加数据集)_第2张图片

2.相关代码(python+keras)

from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img

datagen = ImageDataGenerator(
    rotation_range=30,
    width_shift_range=0.2,
    height_shift_range=0.2,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True,
    fill_mode='nearest')

img = load_img('F:\\xiangmu\\maxrect_crop_2\\16-6.tif')  # this is a PIL image
x = img_to_array(img)  # this is a Numpy array with shape (3, 150, 150)
x = x.reshape((1,) + x.shape)  # this is a Numpy array with shape (1, 3, 150, 150)
# the .flow() command below generates batches of randomly transformed images

i = 0
for batch in datagen.flow(x, batch_size=1,  # save_to_dir 要保存的文件夹   prefix图片名字   format图片的格式
                          save_to_dir='./Model', save_prefix='data', save_format='jpeg'):
    i += 1
    if i > 10:
        break

注:使用keras下的相关图形处理工具包,来把一副图片,经过数据增强生成多种图片。

你可能感兴趣的:(python,keras,数据增强,图像扩充,图像变换,keras)