tf.image使用笔记

本文介绍如何使用 TensorFlow 完成图像数据的预处理,以及如何使用 tensorboard 工具将图像数据进行可视化。在使用 TensorFlow 实现图像识别

import os 
import tensorflow as tf 

reader = tf.WholeFileReader()
key, image_raw_data = reader.read(tf.train.string_input_producer(['0002.jpg']))  #0002.jpg为原始图像数据
image = tf.image.decode_jpeg(image_raw_data)
image = tf.expand_dims(image,0)

image_summary = tf.summary.image('image origin', image)

resized_image = tf.image.resize_images(image, [256, 256], method=tf.image.ResizeMethod.BILINEAR)

#ResizeMethod.BILINEAR :双线性插值
#ResizeMethod.NEAREST_NEIGHBOR : 最近邻插值
#ResizeMethod.BICUBIC : 双三次插值
#ResizeMethod.AREA :面积插值

cropped_image = tf.image.crop_to_bounding_box(image, 20, 20, 256, 256) #剪切
flipped_image = tf.image.flip_left_right(image) #水平翻转
flipped_image = tf.image.flip_up_down(image) #垂直翻转
rotated_image = tf.image.rot90(image, k=1) #旋转

rot_cnt= tf.random_uniform([],minval=1,maxval=3,dtype=tf.int32)                 
img = tf.image.rot90(image=image,k=rot_cnt)    #随机旋转
img = tf.image.random_brightness(image=img,max_delta=self.brightness*255.)  # random brightness
img = tf.clip_by_value(img,0.,255.)
img = tf.image.random_contrast(image=img,lower=1-self.contrast,upper=1+self.contrast) # random contrast
img = tf.clip_by_value(img,0.,255.)

grayed_image = tf.image.rgb_to_grayscale(image) #rgb颜色空间转换灰度空间

img_resize_summary = tf.summary.image('image resized', resized_image)
cropped_image_summary = tf.summary.image('image cropped', cropped_image)
flipped_image_summary = tf.summary.image('image flipped', flipped_image)
rotated_image_summary = tf.summary.image('image rotated', rotated_image)
grayed_image_summary = tf.summary.image('image grayed', grayed_image)

merged = tf.summary.merge_all()
init_op = tf.initialize_all_variables()

with tf.Session() as sess:
    sess.run(init_op)
    cord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=cord)
    
    img = image.eval()
    print(img.shape)
    cord.request_stop()
    cord.join(threads)
    
    summary_writer = tf.summary.FileWriter('tmp', sess.graph)
    summary_all = sess.run(merged)
    summary_writer.add_summary(summary_all, 0)
    summary_writer.close()

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿尔发go

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值