#coding:utf-8
import os
import numpy as np
import glob, cv2
import shutil
import tensorflow as tf
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
config = tf.ConfigProto()
config.gpu_options.allow_growth = True # 设置最小gpu使用量
def read_img(img):
image_contents = tf.read_file(img)
image = tf.image.decode_jpeg(image_contents, channels=3)
return image
def rand_gen_data(img):
image_contents = tf.read_file(img)
image = tf.image.decode_jpeg(image_contents, channels=3)
# 数据增强
#image = tf.image.resize_image_with_pad(image, target_height=image_W, target_width=image_H)
#image = tf.image.resize_images(image, (image_W, image_H))
# 随机左右翻转
#image = tf.image.random_flip_left_right(image)
# 随机上下翻转
#image = tf.image.random_flip_up_down(image)
# 随机设置图片的亮度
image = tf.image.random_brightness(image, max_delta=32/255.0)
# 随机设置图片的对比度
image = tf.image.random_contrast(image, lower=0.5, upper=1.5)
# 随机设置图片的色度
image = tf.image.random_hue(image, max_delta=0.3)
# 随机设置图片的饱和度
image = tf.image.random_saturation(image, lower=0.5, upper=1.5)
# 标准化,使图片的均值为0,方差为1
#image = tf.image.per_image_standardization(image)
return image
def main():
sess = tf.Session(config=config)
sess.run(tf.global_variables_initializer())
for img in glob.glob("ori-train/*.jpg")[:20]:
print img
#org_img = sess.run(read_img(img))
image = sess.run(rand_gen_data(img))
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
cv2.imwrite(os.path.basename(img), image)
if __name__ == '__main__':
main()