是否有一種快速的方法來轉換將圖像從RGB編碼爲BGR的張量?Tensorflow:如何將張量的通道從RGB切換到BGR?
在Python中,這將是這樣的:
image = image[:, :, [2,1,0]]
是否有一種快速的方法來轉換將圖像從RGB編碼爲BGR的張量?Tensorflow:如何將張量的通道從RGB切換到BGR?
在Python中,這將是這樣的:
image = image[:, :, [2,1,0]]
您可以使用tf.strided_slice
或tf.reverse
。
例如,
import tensorflow as tf
img = tf.reshape(tf.range(30), [2, 5, 3])
# the following two lines produce equivalent result:
img_channel_swap = img[..., ::-1]
img_channel_swap_1 = tf.reverse(img, axis=[-1])
注意的tf.reverse
所述API是從tensorflow R1.0改變。
假設通道是最後一個維度。
channels = tf.unstack (image, axis=-1)
image = tf.stack ([channels[2], channels[1], channels[0]], axis=-1)
您也可以使用tf.split
。
來自tensorflow-vgg16/blob/master/vgg16.py#L5的片段:
red, green, blue = tf.split(3, 3, rgb_scaled)
bgr = tf.concat(3, [blue, green, red])