我有一个2D数组。让我们假设它有一些非矩形的连通区域。请考虑以下示例
array([[1, 1, 2, 2],\
[0, 1, 0, 1],\
[3, 0, 1, 4],\
[0, 3, 1, 1]])
在上面的数组中,所有的都是连接的。我知道所有这些存储的坐标都可以说是2d numpy数组或元素列表(x,y)。
现在我想查询该区域是否有任意点。这一点也可以是一个浮点数。
在浮点坐标的情况下,值将舍入到最接近的整数像素值。
非常感谢
答案 0 :(得分:2)
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
这是你想要的吗?
当然,您可能需要在那里检查一些边界。