numpy - 如何检测 2D numpy array 中的点是否处于非矩形区域中?

  显示原文与译文双语对照的内容
0 0

我有 2D array 。 假设它有一些连接区域,它是非矩形的。 请考虑以下示例


 array([[1, 1, 2, 2],
 [0, 1, 0, 1],
 [3, 0, 1, 4],
 [0, 3, 1, 1]])

在上 array 中,所有的都是连接的。 我知道所有存储的坐标,可以说是a numpy或者元素列表( x,y ) 。

现在我想查询这个区域中是否存在任意点。 这一点也可以是一个花车。

对于浮点坐标,值将舍入到最接近的整数像素值。

多谢了

时间: 原作者:

0 0

areas = array([[1, 1, 2, 2],
 [0, 1, 0, 1],
 [3, 0, 1, 4],
 [0, 3, 1, 1]])

def is_in_area(x,y, area_num):
 return areas[round(x), round(y)] == area_num

这就是你要做的?

当然,你可能需要在那里进行一些边界检查。

原作者:
...