Tensorflow:如何将张量的通道从RGB切换到BGR?

时间:2017-02-10 14:35:36

标签: tensorflow

有没有快速的方法将图像从RGB编码转换为BGR?

在python中会出现类似:

image = image[:, :, [2,1,0]]

3 个答案:

答案 0 :(得分:7)

您可以使用tf.strided_slicetf.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更改。

答案 1 :(得分:2)

假设频道是最后一个维度。

channels = tf.unstack (image, axis=-1)
image    = tf.stack   ([channels[2], channels[1], channels[0]], axis=-1)

答案 2 :(得分:1)

您也可以使用android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|fontScale|density" 来自tensorflow-vgg16/blob/master/vgg16.py#L5的代码段:

tf.split