zoukankan      html  css  js  c++  java
  • TensorFlow 实战(五)—— 图像预处理

    当然 tensorflow 并不是一种用于图像处理的框架,这里图像处理仅仅是一些简单的像素级操作,最终目的比如用于数据增强

    • tf.random_crop()
    • tf.image.random_flip_left_right():
    • tf.image.random_hue()
      • random_contrast()
      • random_brightness()
      • random_saturation()
    def pre_process_image(image, training):
        # This function takes a single image as input,
        # and a boolean whether to build the training or testing graph.
    
        if training:
            # For training, add the following to the TensorFlow graph.
    
            # Randomly crop the input image.
            image = tf.random_crop(image, size=[img_size_cropped, img_size_cropped, num_channels])
    
            # Randomly flip the image horizontally.
            image = tf.image.random_flip_left_right(image)
    
            # Randomly adjust hue, contrast and saturation.
            image = tf.image.random_hue(image, max_delta=0.05)
            image = tf.image.random_contrast(image, lower=0.3, upper=1.0)
            image = tf.image.random_brightness(image, max_delta=0.2)
            image = tf.image.random_saturation(image, lower=0.0, upper=2.0)
    
            # Some of these functions may overflow and result in pixel
            # values beyond the [0, 1] range. It is unclear from the
            # documentation of TensorFlow 0.10.0rc0 whether this is
            # intended. A simple solution is to limit the range.
    
            # Limit the image pixels between [0, 1] in case of overflow.
            image = tf.minimum(image, 1.0)
            image = tf.maximum(image, 0.0)
        else:
            # For training, add the following to the TensorFlow graph.
    
            # Crop the input image around the centre so it is the same
            # size as images that are randomly cropped during training.
            image = tf.image.resize_image_with_crop_or_pad(image,
                                                           target_height=img_size_cropped,
                                                           target_width=img_size_cropped)
    
        return image
  • 相关阅读:
    【巷子】:关于Apply、call、bind的详解
    关于this的指向问题
    SOA和微服务之间的区别
    业务系统如何微服务化
    微服务架构的理论基础
    每个架构师都应该研究下康威定律
    Rabbit MQ
    Scalability, Availability & Stability Patterns
    应用层协议
    SSO
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421924.html
Copyright © 2011-2022 走看看