【发布时间】:2014-03-24 19:06:50
【问题描述】:
我有三个 numpy 数组:
X 这是一个具有二维(高度和宽度)的numpy数组,例如:1000x2000 Y 这是一个具有二维(高度和宽度)的numpy数组,例如:1000x2000 Img 这是一个具有三个维度的 numpy 数组:(高度,宽度,rgb)例如:1000x2000x3我创建了一个 X 和 Y 的掩码,例如:mask = [Y[:,:]>100, X[:,:]>50] 并且我创建了这些掩码的总和:
masks = mask[0] & mask[1]
现在我想根据蒙版选择 X、Y 和 Img 部分:
X_ = X[masks]
Y_ = Y[masks]
这很好用,但现在我也想为Img 做同样的选择,但这不起作用,因为它是一个三维数组。我如何使用掩码来选择与 X 和 Y 相同的“字段”?
【问题讨论】:
-
Img[masks,:]有什么问题? -
@flebool 甚至只是
Img[mask]应该可以通过广播工作。 -
对我来说,即使
Img[masks]也有效。 Python 2.7.5+ -
当然,我是在瞎写代码
-
感谢您让我看到我的错误,它最终只是一个类型。