将RGB列数组分配给图像数组中的任意数量的列

时间:2014-07-15 02:51:21

标签: python image numpy rgb

假设我有一个4x5 RGB图像阵列,一个RGB行阵列和一个RGB列阵列。

import numpy as np
img=np.zeros((4,5,3))
row=np.arange(15).reshape((5,3))
col=np.arange(12).reshape((4,3))

将行数组分配给图像数组的多行很简单。

img[1:3] = row

将列数组分配给图像数组的单个列同样简单。

img[:,1,:] = col

使用循环将列数组分配给图像数组的多个列很容易。

for n in (2,3):
    img[:,n,:] = col

但循环似乎效率低下。是否有更好的方法(即没有循环)将RGB列数组分配给任意数量的列?

1 个答案:

答案 0 :(得分:0)

img[:, [2,3], :] = col[:, None, :]