Использование itertools для l oop через строки массива в уравнение - PullRequest
0 голосов
/ 29 января 2020

Я хочу использовать itertools, чтобы найти расстояния между всеми кругами, возвращенными из преобразования Hough Circle. Я не уверен, какая функция itertools будет наиболее подходящей для сравнения вводимых значений проницаемости.

    import math
    import itertools


    def DistanceBetweenOuterCircle(a1, b1, a2, b2, r1, r2):
        # a - centre x coord
        # b - centre y coord
        # r - radius
        return abs(math.hypot(a2 - a1, b2 - b1) - (r2 + r1))

    # Some code to obtain circle parameters in form of a numpy array with rows in the form ['a' 'b' 'r'] so that...
    equation_input = [['210' '46' '25']
                      ['536' '66' '26']
                      ['662' '62' '32']
                      ['1000' '38' '25']
                      ['724' '44' '25']]

     # So far:
     solutions_array = np.array([, math.factorial(equation_input.shape[0]))
     permetations_array = np.array([6, math.factorial(equation_input.shape[0])
     for rowi, rowj in itertools.product(equation_input,2):
          np.append(solutions_array, ([rowi],row[j])
          np.append(permetations_array, DistanceBetweenOuterCircle(a, b, r), axis=0)

    # solutions array ideally in row form of ['a1' 'b1' 'r1' 'a2' 'b2' 'r2']

К сожалению, это не сработает. Кто-нибудь знает лучший метод сравнения строк?

...