美文网首页我爱编程
TensorFlow 可用的数据增强

TensorFlow 可用的数据增强

作者: 翻开日记 | 来源:发表于2018-08-07 17:20 被阅读0次
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 18-8-7 下午2:53
# @File    : data_argument.py
# @Software: PyCharm
# @Author  : wxw
# @Contact : xwwei@lighten.ai
# @Desc    :

import tensorflow as tf
import cv2
import numpy as np
with tf.Session() as sess:
    raw_img = tf.gfile.Open('patch.jpg', 'rb').read()
    img_data = tf.image.decode_image(raw_img)
    img_data = tf.image.convert_image_dtype(img_data, tf.float32)
    cv2.imshow('raw_image', img_data.eval())
    print('raw_shape:', img_data.eval().shape)
    """resize"""
    # img_data = tf.image.resize_images(img_data.eval(), (224, 224))
    """crop and black pad"""
    # img_data = tf.image.resize_image_with_crop_or_pad(img_data, target_height=1000,
    #                                                   target_width=1000)
    """按照倍数中心裁剪, 倍数=(0, 1]"""
    # img_data = tf.image.central_crop(img_data, central_fraction=0.2)
    """pad """
    # img_data = tf.image.pad_to_bounding_box(img_data, offset_height=10, offset_width=10,
    #                                         target_height=576+10, target_width=576+10)
    """crop"""
    # img_data = tf.image.crop_to_bounding_box(img_data, 40, 40, 576-40, 576-40)
    """extract
                                o----->y
                                |
                                |
                                v
                                x
    """
    # img_data = tf.image.extract_glimpse(tf.expand_dims(img_data, 0), size=[100, 100],
    #                                     offsets=tf.reshape(tf.constant([-.4, .4], dtype=tf.float32), [1, 2]))
    """roi pooling 必要操作 boxes为长宽比值!!! """
    # img_data = tf.image.crop_and_resize(tf.expand_dims(img_data, 0), boxes=[[0/576, 0/576, 1, 1]],
    #                                     box_ind=[0], crop_size=[100, 100])
    """上下翻转/左右/转置翻转/90度旋转---(random_)flip_up_down/flip_left_right/transpose/rot90"""
    # img_data = tf.image.rot90(img_data, k=-1)
    """Converting Between Colorspaces"""
    """灰度"""
    # img_data = tf.image.rgb_to_grayscale(img_data)
    """图像亮度[-1, 1]"""
    # img_data = tf.image.adjust_brightness(img_data, delta=-.7)
    """随机图像亮度"""
    # img_data = tf.image.random_brightness(img_data, max_delta=0.6)
    """随机对比度"""
    # img_data = tf.image.random_contrast(img_data, lower=0, upper=4)
    """随机色调"""
    # img_data = tf.image.random_hue(img_data, 0.5)
    """随机饱和度"""
    # img_data = tf.image.random_saturation(img_data, lower=0, upper=2)
    """图片标准化    (x - mean) / max(stddev, 1.0/sqrt(image.NumElements()))"""
    # img_data = tf.image.per_image_standardization(img_data)
    """draw boxes"""
    # img_data = tf.image.draw_bounding_boxes(tf.expand_dims(img_data, 0), [[[0.1, 0.2, 0.5, 0.9]]])
    print('Tensor:', img_data)
    print(img_data.eval().shape)
    print(img_data.eval())
    cv2.imshow('changed', img_data[0].eval())
    cv2.waitKey()

相关文章

网友评论

    本文标题:TensorFlow 可用的数据增强

    本文链接:https://www.haomeiwen.com/subject/dvmavftx.html