如何在tensorflow.js中将RGB阵列反转为BGR阵列

时间:2019-01-29 08:27:24

标签: tensorflow tensorflow.js

有一个[512,512,3]形状的RGB图像,现在我想在BGR中而不是在RGB中反转数组,如何在tensorflow.js中做到这一点

1 个答案:

答案 0 :(得分:1)

您可以沿通道轴使用tf.reverse

tf.reverse(tensor, -1)

一个人也可以使用tf.unstacktf.stack。如果要以任何顺序反转图像通道,这将很有用

temp = tf.unstack(tensor, axis)
tf.stack([temp[2], temp[1], temp[0]], axis)

const x = tf.tensor3d([1, 2 , 3, 4 , 5, 6, 7, 8], [2, 2, 2]);

const axis = 2;
// tf.reverse
x.reverse(axis).print();

// tf.stack and tf.unstack
const temp = tf.unstack(x, axis)
tf.stack([temp[1], temp[0]], 2).print()

// tf.split and tf.concat
const temp1 = tf.split(x, 2, 2)
tf.concat([temp1[1], temp1[0]], 2).print()
<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.14.1"> </script>
  </head>

  <body>
  </body>
</html>