不报错,不生成 数据集扩充
一通道L图像 python
batch灰色有影响么 哪错了呢 怎么改呢
#数据扩充
# 载入包
import pandas
from keras.preprocessing.image import ImageDataGenerator
import os
import time
from keras.utils import load_img
# 定义扩充图片函数
def image_expansion(filepath,savefilepath,multiples=20):
"""
:param filepath: 图片路径
:param savefilepath: 扩充保存图片路径
:param multiples: 扩充倍数,默认扩充20倍
:return: 返回扩充后数据集
"""
# keras中可以通过keras.preprocessing.image.ImageDataGenerator类来实现
datagen = ImageDataGenerator(
rotation_range=40, #随即旋转角度数范围
width_shift_range=0.2, #随即宽度偏移量,图像在水平或垂直方向上平移的范围(相对于总宽度或总高度的比例)
height_shift_range=0.2, #随即高度偏移量
shear_range=0.2, #随机错切变换角度
zoom_range=0.2, #=随机缩放的范围
horizontal_flip=True, #是否随机水平翻转
fill_mode='nearest') #填充新创建像素方法
for parent, dirnames, filenames in os.walk(filepath):
for filename in filenames:
image_path = filepath+filename
print(image_path)
img = load_img(image_path)
x = pandas.array(img)
x = x.reshape((1,) + x.shape)
i = 1
for batch in datagen.flow(x, batch_size=32,
save_to_dir=savefilepath,
save_prefix='r',
save_format='jpg'):
print('正在扩充图片数据集第'+str(i)+'张')
i += 1
if i >multiples:
break
if __name__ == '__main__':
# 设置图片路径
filepath = 'C:/Users/ASUS/Dektop/R/benign/'
# 设置扩充保存图片路径
savefilepath = 'C:/Users/ASUS/Desktop/R/r-benign/'
time1 = time.time()
image_expansion(filepath,savefilepath,multiples=20)
time2=time.time()
print('总共耗时:' + str(time2 - time1) + 's')