最近在做机器学习相关的项目。由于数据量不够,需要进行数据增强。TensorFlow它当中自带图像处理的接口。使我们能够很轻松的完成这些任务。你也可以在我的代码基础上。加上一些其他的图像处理的功能。比其他的图像处理的库要稍微简单一点。
"""author:youngkun data:20180618 function:image enhancement""" import
tensorflow as tf import os import random source_file="./0/" #原始文件地址
target_file="./test2/" #修改后的文件地址 num=50 #产生图片次数 if not
os.path.exists(target_file): #如果不存在target_file,则创造一个 os.makedirs(target_file)
file_list=os.listdir(source_file) #读取原始文件的路径 with tf.Session() as sess: for i
in range(num): max_random=len(file_list)-1 a = random.randint(1, max_random)
#随机数字区间
image_raw_data=tf.gfile.FastGFile(source_file+file_list[a],"rb").read()#读取图片
print("正在处理:",file_list[a]) image_data=tf.image.decode_jpeg(image_raw_data)
filpped_le_re=tf.image.random_flip_left_right(image_data) #随机左右翻转
filpped_up_down=tf.image.random_flip_up_down(image_data) #随机上下翻转
adjust=tf.image.random_brightness(filpped_up_down,0.4) #随机调整亮度
image_data=tf.image.convert_image_dtype(adjust,dtype=tf.uint8)
encode_data=tf.image.encode_jpeg(image_data) with
tf.gfile.GFile(target_file+str(i)+"_enhance"+".jpeg","wb") as f:
f.write(encode_data.eval()) print("图像增强完毕")
热门工具 换一换