python - NumPy 在 (M,A,B,N) 形状数组中广播 : Adding an ndarray across elements (a, b)

标签 python arrays numpy array-broadcasting

我有一个包含 RGB 像素的图像数组,因此该数组的尺寸为 (image_count,height,width,3)

我正在按照我在侧面计算的随机量调整各个像素,形状为:(image_count,3)

现在,我有一个解释循环来将调整添加到各个像素。


如何广播此加法,以便对每个像素执行以下操作:

image_set[i,h,w,:] += pixel_adj[i,:]

最佳答案

通过 None/np.newaxis 引入新轴以适当的尺寸进行 pixel_adj 使其成为 4D,就像 image_set 一样,然后执行求和调整以引入 broadcasting ,就像这样 -

image_set += pixel_adj[:,None,None,:]

关于python - NumPy 在 (M,A,B,N) 形状数组中广播 : Adding an ndarray across elements (a, b),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36825588/

相关文章:

python - 使用两个标志OpenCv的calibrateCamera函数时出错

python - 如何在 CV-ing 数据集时实现基于比率的 SMOTE 过采样

python - 如何使枚举指向一个类

objective-c - 如何在 Objective c 的类中创建静态 NSMutableArray?

arrays - 在 MATLAB 中从数组中选择元素

c++ - 长字节数组转换器在 C++ 中不起作用

python - 本示例中使用什么正则表达式

numpy - 为什么我实现深度神经网络的成本在几次迭代后会增加?

python - 加密安全伪随机洗牌 python 中的列表或数组

python - 从 numPy 数组列表中删除重复项