下面是tf.summary水平/竖直拼接图像的实现方法,参考。

#encoding=utf-8
import tensorflow as tf
#读取图片
image1 = tf.image.decode_jpeg(tf.read_file('1.jpg'))
image2 = tf.image.decode_jpeg(tf.read_file('2.jpg'))
image3 = tf.image.decode_jpeg(tf.read_file('3.jpg'))
image4 = tf.image.decode_jpeg(tf.read_file('4.jpg'))
origin_image1 = tf.expand_dims(image1, 0) #(h, w, c) -> (1, h, w, c)
origin_image2 = tf.expand_dims(image2, 0) #(h, w, c) -> (1, h, w, c)
origin_image3 = tf.expand_dims(image3, 0) #(h, w, c) -> (1, h, w, c)
origin_image4 = tf.expand_dims(image4, 0) #(h, w, c) -> (1, h, w, c)
origin_images = tf.concat(axis=0, values=[origin_image1, origin_image2, origin_image3, origin_image4])
vertic_image = tf.image.flip_up_down(origin_images) #竖直翻转
horizo_image = tf.image.flip_left_right(origin_images) #水平翻转
rotate_image = tf.image.rot90(origin_images, k=1) #逆时针旋转90k度
#max_outputs默认为3
tf.summary.image('origin image', origin_images, max_outputs=4)
tf.summary.image('processed images',#axis=1竖直拼接 axis=2水平拼接
tf.concat(axis=2, values=[origin_images, vertic_image, horizo_image, rotate_image]),
max_outputs=4)
summary_op = tf.summary.merge_all()
with tf.Session() as sess:
path = 'tmp'
if tf.gfile.Exists(path):
tf.gfile.DeleteRecursively(path)
summary_writer = tf.summary.FileWriter(path, sess.graph)
summary = sess.run(summary_op)
summary_writer.add_summary(summary, 0)
summary_writer.close()