变量定义
var t_rgb; 原始RGB的tensor
var t_bgr; 目标BGR的tensor
小结
默认从frame数组构造的tensor的hwc格式的,所以我们先要将hwc格式转成chw格式,然后再去交换R和B通道的数据,这是从图像层面比较容易想到的过程,但是也比较复杂,方法1就描述了这个过程。
然后我们可以注意到,实际上并不需要显示的CHW格式,我们要做的事情就是交换R和B的值,所以方法2直接在第三个维度去做split,然后重新组合成新的tensor即可。
进一步,我们考虑一下宏观的信息,注意到RGB和BGR,都是三通道,而且只是顺序上相反,所以最简单的方法就是做一个reverse,直接将通道顺序反过来,从RGB直接到BGR。
方法1
- hwc转chw
- unstack,分成r g b 三个通道
- stack,将b g r 组成一个新的tensor
- 新的chw的bgr转成hwc的bgr格式
var tensor_chw = t_rgb.transpose([