如何在张量流中将输入图像与掩码相乘?

时间:2017-01-19 19:02:35

标签: tensorflow

我想将每个输入图像乘以与输入图像大小相同的掩码。我如何在张量流中做到这一点?

到目前为止,我的图像阅读功能如下:

img_contents = tf.read_file(input_queue[0])
label_contents = tf.read_file(input_queue[1])
img = tf.image.decode_png(img_contents, channels=3) 
label = tf.image.decode_png(label_contents, channels=1)

# Now I want to do something like this?
mask = tf.constant(1.0, dtype=tf.float32, shape=img.shape)
img_masked = tf.multiply(img,mask)

这可能吗? 不确定img是否已经是张量对象,我可以在这里使用该函数。我是张力流的新手......

1 个答案:

答案 0 :(得分:0)

这是适合我的代码。我正在使用jupyter笔记本来运行代码。

%matplotlib inline
import tensorflow as tf
from matplotlib.image import imread 
import matplotlib.pyplot as plt

# Loading test image from the local filesystem 
x = tf.Variable(imread("test_img.jpg"),dtype='float32')
x_mask = tf.Variable(imread("test_mask.jpg"),dtype='float32')
img_mult = tf.multiply(x,x_mask)

plt.imshow(imread("test_img.jpg"))
plt.show()
plt.imshow(imread("test_mask.jpg"))
plt.show()

sess = tf.Session() 
sess.run(tf.global_variables_initializer())
res = sess.run(img_mult)

plt.imshow(res)
plt.show()

此外,这是一个很好的YouTube教程,涵盖了TF的图像处理:https://www.youtube.com/watch?v=bvHgESVuS6Q&t=447s