我想将每个输入图像乘以与输入图像大小相同的掩码。我如何在张量流中做到这一点?
到目前为止,我的图像阅读功能如下:
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是否已经是张量对象,我可以在这里使用该函数。我是张力流的新手......
答案 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