连接未知数量的掩码
Concatenating unknown number of masks
我有一个形状为 (height, width, num_of_instances)
的布尔值数组(例如 (2448, 2048, 233)
)。
我想要 return 一个形状为 (height, width, 1)
的数组,其中如果同一位置的 233 个掩码中的任何值都为真,则每个值都为真。
我并不总是知道实例的数量和高度和宽度。目前我正在遍历每个像素:
for j in masks.shape[0]:
for i in masks.shape[1]:
if any(masks[j, i, :):
resulting_mask[j, i] = True
正如人们所预料的那样,这非常慢。那么什么是快速和 pythonic 的方式来做到这一点?
你试过吗?
resulting_mask = np.any(masks,axis=2)[:,:,None]
我有一个形状为 (height, width, num_of_instances)
的布尔值数组(例如 (2448, 2048, 233)
)。
我想要 return 一个形状为 (height, width, 1)
的数组,其中如果同一位置的 233 个掩码中的任何值都为真,则每个值都为真。
我并不总是知道实例的数量和高度和宽度。目前我正在遍历每个像素:
for j in masks.shape[0]:
for i in masks.shape[1]:
if any(masks[j, i, :):
resulting_mask[j, i] = True
正如人们所预料的那样,这非常慢。那么什么是快速和 pythonic 的方式来做到这一点?
你试过吗?
resulting_mask = np.any(masks,axis=2)[:,:,None]