【发布时间】:2020-02-06 15:14:03
【问题描述】:
我使用 numpy 索引已经有一段时间了。但我只需要选择基本形状,例如rectangles 或discs
但是,我现在需要能够选择更多任意形状,但我找不到这样做的好方法。理想情况下,我希望能够给出一个角列表,并为这些角中包含的所有索引进行选择。我们可以假设给定的形状是凸的
例如,给定一个填充了形状为 (10, 10) 的零的数组,通过尝试设置角 ((2,2)、(6,3)、(4,8) 和 (7) 内的值,9)) 到 1 这将返回这样的掩码
[[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 1., 1., 1., 0., 0., 0., 0., 0.],
[0., 0., 1., 1., 1., 1., 0., 0., 0., 0.],
[0., 0., 1., 1., 1., 1., 1., 1., 1., 0.],
[0., 0., 0., 1., 1., 1., 1., 1., 1., 0.],
[0., 0., 0., 1., 1., 1., 1., 1., 1., 1.],
[0., 0., 0., 0., 0., 0., 1., 1., 1., 1.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]
现在的问题之一是这个问题通常没有唯一的解决方案,但对我来说,采取一个合理的解决方案就足够了。但是,我想不出使用 numpy 的方法,因为似乎只支持基本的切片和清晰的数学方程。
有没有人遇到过这样的挑战?我必须求助于更传统的 python for 循环吗?
【问题讨论】:
标签: python python-3.x numpy