首页 > 解决方案 > 连接未知数量的掩码

问题描述

我有一个形状的布尔值数组(height, width, num_of_instances)(例如(2448, 2048, 233))。我想返回一个 shape 数组,(height, width, 1)如果同一位置的 233 个掩码中的任何一个值为 True,则每个值为 True。我并不总是知道实例的数量以及高度和宽度。目前我正在迭代每个像素:

for j in masks.shape[0]:
   for i in masks.shape[1]:
      if any(masks[j, i, :):
          resulting_mask[j, i] = True

正如人们所期望的那样,这非常慢。那么这样做的快速和pythonic方式是什么?

标签: pythoniteratorconcatenationmask

解决方案


你试过这个吗?

resulting_mask = np.any(masks,axis=2)[:,:,None]

推荐阅读