在张量流中移动图像(具有周期性边界)

时间:2018-08-01 19:00:50

标签: tensorflow machine-learning conv-neural-network

我想在Tensorflow中转换图像,并使用frame2时裁剪的那些元素填充零。这意味着图片具有周期性边界条件。假设我有一张图片:

import org.apache.spark.sql.functions._

val subset1 = frame1.select($"col1", $"col2", lit(null).as("col4"))
val subset2 = frame2.select(lit(null).as("col1"), $"col2", $"col4")
val result = subset1 union subset2

我想将图像移动dx = -1(向左),dy = -1(向上)。结果应该像

tf.contrib.image.transform

有人能有效地做到这一点吗? (此操作在网络上显示很多)。

谢谢。

1 个答案:

答案 0 :(得分:2)

您正在寻找tf.manip.roll

import tensorflow as tf
import numpy as np

a = np.array([[1, 2, 3, 4, ],
              [5, 6, 7, 8, ],
              [9, 10, 11, 12]]).astype(np.float32)


data_in = tf.placeholder(tf.float32)

data = tf.manip.roll(data_in, -1, 1)
data = tf.manip.roll(data, -1, 2)

with tf.Session() as sess:
    print(sess.run(data, {data_in: a[None, :, :, None]}))