如何使用 python 从网格坐标中提取水平和垂直方向的最大值?

How can I extract the maximum values along the horizontal and vertical from the coordinates of the grid using python?

我正在计算网格的交点。我想使用这些点进行进一步分析,例如在图像上注释交点的位置。

[(65, 1),(132, 1),(198, 1),(265, 1),(332, 1),(399, 1),(466, 1),(533, 1),(600, 1),(666, 1),(732, 1),(799, 1),(865, 1),(931, 1),(997, 1),(1063, 1),(1130, 1),(1196, 1),(65, 67),(132, 67)]

如何获得该坐标列表中 x 轴和 y 轴的最大值?

预期结果如下

max_x = 1196
max_y = 67

非常感谢

如果您只对绝对最大值感兴趣,那么最简单的方法可能是将您的点列表解压缩到 y-s 和 x-s 列表:

points = [(65, 1),(132, 1),(198, 1),(265, 1),(332, 1),(399, 1),(466, 1),(533, 1),(600, 1),(666, 1),(732, 1),(799, 1),(865, 1),(931, 1),(997, 1),(1063, 1),(1130, 1),(1196, 1),(65, 67),(132, 67)]
x, y = zip(*points)
max_x = max(x)
max_y = max(y)

但是如果您不知道 zip 函数,您也可以遍历点列表,将每个 x 添加到上面声明的 x 列表,将 y 添加到 y-list。

arr= np.array([(65, 1),(132, 1),(198, 1),(265, 1),(332, 1),(399, 1),(466, 1),(533, 1),(600, 1),(666, 1),(732, 1),(799, 1),(865, 1),(931, 1),(997, 1),(1063, 1),(1130, 1),(1196, 1),(65, 67),(132, 67)])

max_x, max_y = arr.max(axis=0)

输出:

[1196   67]