博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
吴裕雄 python 神经网络——TensorFlow 图像预处理完整样例
阅读量:5148 次
发布时间:2019-06-13

本文共 2099 字,大约阅读时间需要 6 分钟。

import numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltdef distort_color(image, color_ordering=0):    if color_ordering == 0:        image = tf.image.random_brightness(image, max_delta=32./255.)        image = tf.image.random_saturation(image, lower=0.5, upper=1.5)        image = tf.image.random_hue(image, max_delta=0.2)        image = tf.image.random_contrast(image, lower=0.5, upper=1.5)    else:        image = tf.image.random_saturation(image, lower=0.5, upper=1.5)        image = tf.image.random_brightness(image, max_delta=32./255.)        image = tf.image.random_contrast(image, lower=0.5, upper=1.5)        image = tf.image.random_hue(image, max_delta=0.2)    return tf.clip_by_value(image, 0.0, 1.0)def preprocess_for_train(image, height, width, bbox):    # 查看是否存在标注框。    if bbox is None:        bbox = tf.constant([0.0, 0.0, 1.0, 1.0], dtype=tf.float32, shape=[1, 1, 4])    if image.dtype != tf.float32:        image = tf.image.convert_image_dtype(image, dtype=tf.float32)            # 随机的截取图片中一个块。    bbox_begin, bbox_size, _ = tf.image.sample_distorted_bounding_box(tf.shape(image), bounding_boxes=bbox, min_object_covered=0.4)    bbox_begin, bbox_size, _ = tf.image.sample_distorted_bounding_box(tf.shape(image), bounding_boxes=bbox, min_object_covered=0.4)    distorted_image = tf.slice(image, bbox_begin, bbox_size)    # 将随机截取的图片调整为神经网络输入层的大小。    distorted_image = tf.image.resize_images(distorted_image, [height, width], method=np.random.randint(4))    distorted_image = tf.image.random_flip_left_right(distorted_image)    distorted_image = distort_color(distorted_image, np.random.randint(2))    return distorted_imageimage_raw_data = tf.gfile.FastGFile("F:\\TensorFlowGoogle\\201806-github\\datasets\\cat.jpg", "rb").read()with tf.Session() as sess:    img_data = tf.image.decode_jpeg(image_raw_data)    boxes = tf.constant([[[0.05, 0.05, 0.9, 0.7], [0.35, 0.47, 0.5, 0.56]]])    for i in range(9):        result = preprocess_for_train(img_data, 299, 299, boxes)        plt.imshow(result.eval())        plt.show()

 

转载于:https://www.cnblogs.com/tszr/p/10885349.html

你可能感兴趣的文章
实验四2
查看>>
多路复用
查看>>
Python数据可视化之Pygal(雷达图)
查看>>
Java学习笔记--字符串和文件IO
查看>>
转 Silverlight开发历程—(画刷与着色之线性渐变画刷)
查看>>
SQL语法(3)
查看>>
在js在添版本号
查看>>
sublime3
查看>>
Exception Type: IntegrityError 数据完整性错误
查看>>
Nuget:Newtonsoft.Json
查看>>
Hdu - 1002 - A + B Problem II
查看>>
Android设置Gmail邮箱
查看>>
js编写时间选择框
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
PE知识复习之PE的导入表
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>