Python - 获取2D数组重要值的坐标

时间:2014-12-10 13:14:43

标签: python arrays numpy coordinates

我想从图像(2D阵列)确定角度。 我可以通过“unravel_index”和“argmax”获得强度最大的点的坐标,但我想知道如何获得另一个强度很高的点来计算我的角度。 我必须自动化,因为我有大量的图像用于后期处理

enter image description here

所以对于第一个坐标,我可以这样做:

import numpy as np
from numpy import unravel_index

t = unravel_index(eyy.argmax(), eyy.shape)

我需要另一个坐标来计算我的角度...

t2 = ....

theta = np.arctan2(t[0]-t2[0],t[1]-t2[1])

2 个答案:

答案 0 :(得分:2)

你可以尝试的是研究霍夫变换(Wikipedia - Hough Transform)。霍夫变换是一种用于在图像中查找线条及其方向的工具。

Rosetta Code处有一个Hough变换的Python实现。

我不确定数据中的行是否足够明显,以便Hough Transform能够产生良好的结果,但我希望它有所帮助。

答案 1 :(得分:1)

你可以将你的数组放在一个蒙面数组中,找到具有最大强度的像素,然后将其掩盖,然后找到具有最大强度的下一个像素。