本文主要是介绍tensorflow 设置图片大小与翻转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
读图的时候是用 tensorflow 的函数,存图像用的save,发现报错,tensor对象不能进行直接保存操作,得用 scipy.misc 的 imsave 函数。
实例代码
import tensorflow as tf
import numpy as np
import scipy.misc #读取图像可任意大小
filenames = ['E://Parking186//ImgReshape//1Thumbnail25.jpg','E://Parking186//ImgReshape//5Thumbnail39.jpg'] filename_queue = tf.train.string_input_producer(filenames)
reader = tf.WholeFileReader()
key,value = reader.read(filename_queue)
images = tf.image.decode_jpeg(value)#tf.image.decode_png(value)#设置图像大小
newsize = tf.convert_to_tensor([300,360])
resized = tf.image.resize_images(images, newsize)
print("resized:",resized)
#输出是Tensor("Squeeze:0", shape=(300, 360, ?), dtype=float32)
resized.set_shape([300,360,3])
print("resized.set_shape:",resized)
#输出是Tensor("Squeeze:0", shape=(300, 360, 3), dtype=float32)flipped_images = tf.image.flip_up_down(resized)
print("flipped_images:",flipped_images)
#输出是Tensor("ReverseV2:0", shape=(300, 360, 3), dtype=float32)with tf.Session() as sess: coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(coord=coord) init = tf.global_variables_initializer() sess.run(init) #reimg1的类型是<class 'numpy.ndarray'> reimg1 = flipped_images.eval() reimg2 = flipped_images.eval() scipy.misc.imsave('E:\\Parking186\\ImgReshape\\reimg1.jpg', reimg1) scipy.misc.imsave('E:\\Parking186\\ImgReshape\\reimg2.jpg', reimg2) coord.request_stop() coord.join(threads) print("done!")
效果演示
1、原图片一
设置图片大小:300×360
2、原图片二
设置图片大小:300×360
参考
[1]Tensorflow学习笔记之存取图像文件
http://blog.csdn.net/index20001/article/details/73843070
[2]学习TensorFlow,生成tensorflow输入输出的图像格式
http://blog.csdn.net/helei001/article/details/51354404
这篇关于tensorflow 设置图片大小与翻转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!