Есть ли быстрый способ преобразования тензоров, которые кодируют изображение из RGB в BGR?Tensorflow: Как переключить каналы тензора из RGB в BGR?
В питона, который был бы что-то вроде:
image = image[:, :, [2,1,0]]
Есть ли быстрый способ преобразования тензоров, которые кодируют изображение из RGB в BGR?Tensorflow: Как переключить каналы тензора из RGB в BGR?
В питона, который был бы что-то вроде:
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])
Обратите внимание, что API из tf.reverse
изменяется от 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])