NumPy广播:在(M,A,B,N)形状数组中的元素(a,b)中添加一个ndarray
Posted
技术标签:
【中文标题】NumPy广播:在(M,A,B,N)形状数组中的元素(a,b)中添加一个ndarray【英文标题】:NumPy Broadcast: Adding an ndarray across elements (a,b) in (M,A,B,N) shaped array 【发布时间】:2016-08-17 23:01:47 【问题描述】:我有一个带有 rgb 像素的图像数组,因此该数组的尺寸为 (image_count,height,width,3)
我正在通过我在侧面计算的随机量调整单个像素,形状为:(image_count,3)
。
现在,我有一个解释循环来添加对单个像素的调整。
我如何广播这个添加,以便对每个像素执行以下操作:
image_set[i,h,w,:] += pixel_adj[i,:]
【问题讨论】:
【参考方案1】:在pixel_adj
的适当尺寸处引入带有None/np.newaxis
的新轴,使其成为4D
,就像image_set
一样,然后执行求和调整以引入broadcasting
,就像这样-
image_set += pixel_adj[:,None,None,:]
【讨论】:
以上是关于NumPy广播:在(M,A,B,N)形状数组中的元素(a,b)中添加一个ndarray的主要内容,如果未能解决你的问题,请参考以下文章