如何使用 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]
我正在计算网格的交点。我想使用这些点进行进一步分析,例如在图像上注释交点的位置。
[(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]