深度学习之图像数据扩增实例代码

文件存放格式:图片存放在对应的文件夹下
格式

使用方式:

(1)路径改一下
(2)if count == 2: # 生成多少个样本后退出 Ctrl-F搜索这句话,改一下。
(3)图片生成后还是存放在原来的文件夹下。如有其他需求,请修改:date_enhancement(picture, class_path)中的class_path

import numpy as np
from keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing.image import img_to_array
from keras.preprocessing.image import load_img
import os
os.environ['KERAS_BACKEND'] = 'tensorflow'


def date_enhancement(img_input_path, img_output_path):
    image = load_img(img_input_path)
    image = img_to_array(image)  # 图像转为数组
    image = np.expand_dims(image, axis=0)  # 增加一个维度
    img_dag = ImageDataGenerator(rotation_range=35,
                                 width_shift_range=0.2,
                                 height_shift_range=0.2,  # 浮点数,垂直平移百分比,不宜太大一般0.1,0.2
                                 brightness_range=[0.3, 0.5],  # 浮点数,亮度调整。
                                 shear_range=0.2,
                                 vertical_flip=True,  # 垂直翻转,看应用场景使用。
                                 zoom_range=0.2,
                                 validation_split=0.2,
                                 horizontal_flip=True,
                                 fill_mode="nearest")  # 旋转,宽度移动范围,高度移动范围,裁剪范围,水平翻转开启,填充模式

    img_generator = img_dag.flow(image, batch_size=1,
                                 save_to_dir=img_output_path,
                                 save_prefix="image", save_format="jpg")
    count = 0  # 计数器
    for img in img_generator:
        count += 1
        if count == 2:  # 生成多少个样本后退出
            break


if __name__ == "__main__":
    # 原始图片的存储位置
    orig_picture = 'D:/1/XiongAnDatasets/AID_1'
    classes = {'Bridge', 'Meadow', 'River', 'Mountain', 'Beach', 'Farmland', 'Forest'}

    for index, name in enumerate(classes):
        class_path = orig_picture + '/' + name
        for pic in os.listdir(class_path):
            picture = class_path + '/' + pic
            date_enhancement(picture, class_path)

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值