我有一个2D掩码数组,看起来像这样:
[
#mask0
[[0.3,0.3],
[0,0]],
#mask1
[[0.4,0],
[0.4,0.4]]
]
我想一个接一个地合并掩码,其中每个掩码覆盖它之前的掩码,(我不想要所有掩码的总和)。覆盖,我的意思是如果第二个掩码的值不是0,它将设置新的值,否则保持前一个掩码的值。所以对于这个例子,结果将是
[[0.4,0.3],
[0.4,0.4]]]
当然,在我的情况下,我没有只有2个面具2x2,我有多个面具在一个更大的规模,这只是为了证明.
蒙版表示一些灰度值的圆圈,我想把它们粘贴在另一个上面。像这样:
我如何使用NumPy和干净高效的代码来实现这一点?如果有不同的方法来处理这个问题,我也很想听听。
2条答案
按热度按时间pgky5nke1#
如果你有一个沿着第一个轴排列的3D遮罩阵列,你可以沿着第一个轴缩小,然后用
np.where
合并你的遮罩:5vf7fwbs2#
下面是一个用pytorch编写的代码片段。此代码假定您要将多个示例蒙版合并到一个图像中,同时保留不同蒙版中不同对象的唯一示例。