基于TensorFlow批量的随机处理图片,实现图像增强

 

 

最近在做机器学习相关的项目。由于数据量不够,需要进行数据增强。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("图像增强完毕")



 



你可能感兴趣的:(机器学习,tensorflow,Python)