def preprocess_training(img, height=None, width=None, normalize=None):
img_size = img.get_shape().as_list()
height = height or img_size[0]
width = width or img_size[1]
# Image processing for training the network. Note the many random
# distortions applied to the image.
# Randomly crop a [height, width] section of the image.
distorted_image = tf.random_crop(img, [height, width, 3])
# Randomly flip the image horizontally.
distorted_image = tf.image.random_flip_left_right(distorted_image)
# Because these operations are not commutative, consider randomizing
# the order their operation.
distorted_image = tf.image.random_brightness(distorted_image,
max_delta=63)
distorted_image = tf.image.random_contrast(distorted_image,
lower=0.2, upper=1.8)
if normalize:
# Subtract off the mean and divide by the variance of the pixels.
distorted_image = tf.image.per_image_whitening(distorted_image)
return distorted_image
评论列表
文章目录