1. pytorch
import sys
sys.path.append('..')
from PIL import Image
import torchvision
from torchvision import transforms as tfs
import numpy as np
import torch
import pandas as pd
import re
import datetime
def tensor_to_PIL(tensor):
image = tensor.cpu().clone()
image = image.squeeze(0)
image = unloader(image)
return image
# 读入一张图片
im = Image.open('./demo/1.jpg')
print("im.mode is",im.mode)
print("im.size is ",im.size)
im.show()
# im=tfs.Resize(128)
# #print("h_filp.size is ",im.size)
# h_filp = tfs.RandomHorizontalFlip()(im)
# v_flip1 = tfs.RandomVerticalFlip()(h_filp)
# v_flip1=tfs.RandomCrop(96)
# #
# v_flip1.show()
###############
for i in range (20):
loader = tfs.Compose([
tfs.Resize(128),
tfs.RandomHorizontalFlip(),
tfs.RandomVerticalFlip(),
tfs.RandomCrop(96),
tfs.ToTensor(),
tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])
])
unloader = tfs.ToPILImage()
image = loader(im).unsqueeze(0) # 填充一维
####################
##Tensor_to_PIL show_of_image 为PIL格式 为了显示!
show_of_image = tensor_to_PIL(image) # 自动转换为0-255
#print("save_of_image.mode is",im.mode)
#print("save_of_image.size is ",im.size)
#save_of_image.show() #
# path = 'C:/Users/Administrator/Desktop/桌面备份/GAN-defect-master/img_enhancement'
#filename = path + re.sub(r'[^0-9]', '', datetime.datetime.now().strftime("%Y%m%d"))
new_name = str(i) + '.jpg'
##保存图像 用 tensor 格式
torchvision.utils.save_image(image, new_name)
print("已保存"+str(i+1)+"张图像")
图像增强的20个操作
https://blog.youkuaiyun.com/u013925378/article/details/103363232/
2. TENSORFLOW /KERAS
from keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(
rotation_range=10, # 旋转
width_shift_range=0.08, #横向移动
height_shift_range=0.08, #纵向移动
shear_range=0.1, #以弧度逆时针方向剪切角度
zoom_range=0.1, #随机缩放范围
horizontal_flip=True, #随机水平翻转
)
gen_data = datagen.flow_from_directory(
directory = 'test',#读取目录
save_prefix='data', #文件开头名字
save_to_dir='new',#存入目录
target_size=(100,100) #目标尺寸
)
for i in range(3):
gen_data.next()