• 0238494791
  • spgoo.ecpy@gmail.com

Soit Mp une matrice de points. Le code suivant permet de générer un premier nuage de points aléatoires Mp1 dans une boîte de côté 15 . Mp2 est généré à partir de Mp1 après y avoir ajouté des composantes aléatoires, appliqué une rotation aléatoire et une translation aléatoire de 10.

Mp1 = get_Mp_rand_in_box(20,15)
Mp2 = Mp1 + get_Mp_rand_in_box(20,1)
Mrot = get_Mrot_rand()
Mp2x = get_p_rand()*10 + np.dot(Mrot, Mp2.T).T

La fonction suivante recherche les meilleures correspondances entre ces 2 nuages de points décomposés en 2 parties, dont la deuxième partie du second nuage est tronquée de 2 points.

get_LLc_match_bw_TMp(
                        (Mp1[:5], Mp1[5:]),
                        (Mp2x[:5], Mp2x[5:18]),
                        dmax_voisin=2.0,
                        dmax_diff= 1.0,
                        K_diff=10,
)

Exemples de couples de correspondances obtenues en demandant un minimum de 4 correspondances:


[[(17, 16), (0, 0), (18, 10), (1, 1)],
[(17, 16), (0, 0), (18, 10), (2, 1)],
[(17, 16), (0, 0), (18, 10), (7, 7)],
[(17, 16), (0, 0), (18, 10), (9, 9), (16, 16)],
[(17, 16), (0, 0), (18, 10), (9, 9), (15, 15)],
[(17, 16), (0, 0), (18, 10), (10, 10), (16, 16)],
[(17, 16), (0, 0), (3, 3), (1, 1)],
[(17, 16), (0, 0), (3, 3), (10, 10), (16, 16)],
[(17, 16), (0, 0), (3, 3), (9, 9), (16, 16)],
[(17, 16), (0, 0), (3, 3), (9, 9), (15, 15)],
[(17, 16), (0, 0), (3, 3), (7, 7)],
[(17, 16), (0, 0), (13, 13), (9, 9), (15, 15)],
[(17, 16), (0, 0), (13, 13), (10, 10)],
[(17, 16), (0, 0), (13, 13), (7, 7)],
[(17, 16), (0, 0), (14, 9), (1, 1)],
[(17, 16), (0, 0), (14, 9), (2, 1)],
[(17, 16), (0, 0), (14, 9), (7, 7)],
[(17, 16), (0, 0), (14, 9), (9, 9), (16, 16)],
[(17, 16), (0, 0), (14, 9), (9, 9), (15, 15)],
[(17, 16), (0, 0), (14, 9), (10, 10), (16, 16)],
[(17, 16), (19, 12), (8, 8), (18, 10), (1, 1)],
[(17, 16), (19, 12), (8, 8), (18, 10), (2, 1)],
[(17, 16), (19, 12), (8, 8), (18, 10), (7, 7)],
[(17, 16), (19, 12), (8, 8), (18, 10), (9, 9), (15, 15)],
[(17, 16), (19, 12), (8, 8), (18, 10), (10, 10)],
[(17, 16), (19, 12), (8, 8), (3, 3), (1, 1)],
[(17, 16), (19, 12), (8, 8), (3, 3), (10, 10)],
[(17, 16), (19, 12), (8, 8), (3, 3), (9, 9), (15, 15)],
[(17, 16), (19, 12), (8, 8), (3, 3), (7, 7)],
[(17, 16), (19, 12), (8, 8), (13, 13), (9, 9), (15, 15)],
[(17, 16), (19, 12), (8, 8), (13, 13), (10, 10)],
[(17, 16), (19, 12), (8, 8), (13, 13), (7, 7)],
[(17, 16), (19, 12), (16, 16), (9, 9), (18, 10)],
[(17, 16), (19, 12), (16, 16), (9, 9), (3, 3)],
[(17, 16), (19, 12), (16, 16), (9, 9), (14, 9)],
[(17, 16), (19, 12), (16, 16), (10, 10), (18, 10)],
[(17, 16), (19, 12), (16, 16), (10, 10), (3, 3)],
[(17, 16), (19, 12), (16, 16), (10, 10), (14, 9)],
[(17, 16), (19, 12), (14, 9), (1, 1)],
[(17, 16), (19, 12), (14, 9), (2, 1)],
[(17, 16), (19, 12), (14, 9), (15, 15), (9, 9)],
[(17, 16), (19, 12), (14, 9), (7, 7)],
[(17, 16), (12, 12), (8, 8), (18, 10), (1, 1)],
[(17, 16), (12, 12), (8, 8), (18, 10), (2, 1)],
[(17, 16), (12, 12), (8, 8), (18, 10), (7, 7)],
[(17, 16), (12, 12), (8, 8), (18, 10), (9, 9), (15, 15)],
[(17, 16), (12, 12), (8, 8), (18, 10), (10, 10)],
[(17, 16), (12, 12), (8, 8), (3, 3), (1, 1)],
[(17, 16), (12, 12), (8, 8), (3, 3), (10, 10)],
[(17, 16), (12, 12), (8, 8), (3, 3), (9, 9), (15, 15)],
[(17, 16), (12, 12), (8, 8), (3, 3), (7, 7)],
[(17, 16), (12, 12), (8, 8), (13, 13), (9, 9), (15, 15)],
[(17, 16), (12, 12), (8, 8), (13, 13), (10, 10)],
[(17, 16), (12, 12), (8, 8), (13, 13), (7, 7)],
[(17, 16), (12, 12), (5, 5), (18, 10), (1, 1)],
[(17, 16), (12, 12), (5, 5), (18, 10), (2, 1)],
[(17, 16), (12, 12), (5, 5), (18, 10), (7, 7)],
[(17, 16), (12, 12), (5, 5), (18, 10), (9, 9), (16, 16)],
[(17, 16), (12, 12), (5, 5), (18, 10), (9, 9), (15, 15)],
[(17, 16), (12, 12), (5, 5), (18, 10), (10, 10), (16, 16)],
[(17, 16), (12, 12), (5, 5), (3, 3), (1, 1)],
[(17, 16), (12, 12), (5, 5), (3, 3), (10, 10), (16, 16)],
[(17, 16), (12, 12), (5, 5), (3, 3), (9, 9), (16, 16)],
[(17, 16), (12, 12), (5, 5), (3, 3), (9, 9), (15, 15)],
[(17, 16), (12, 12), (5, 5), (3, 3), (7, 7)],
[(17, 16), (12, 12), (5, 5), (13, 13), (9, 9), (15, 15)],
[(17, 16), (12, 12), (5, 5), (13, 13), (10, 10)],
[(17, 16), (12, 12), (5, 5), (13, 13), (7, 7)],
[(17, 16), (12, 12), (14, 9), (1, 1)],
[(17, 16), (12, 12), (14, 9), (2, 1)],
[(17, 16), (12, 12), (14, 9), (7, 7)],
[(17, 16), (12, 12), (14, 9), (9, 9), (16, 16)],
[(17, 16), (12, 12), (14, 9), (9, 9), (15, 15)],
[(17, 16), (12, 12), (14, 9), (10, 10), (16, 16)],
[(17, 16), (6, 6), (5, 5), (18, 10), (9, 9), (15, 15)],
[(17, 16), (6, 6), (5, 5), (18, 10), (10, 10)],
[(17, 16), (6, 6), (5, 5), (18, 10), (7, 7)],
[(17, 16), (6, 6), (5, 5), (3, 3), (9, 9), (15, 15)],
[(17, 16), (6, 6), (5, 5), (3, 3), (10, 10)],
[(17, 16), (6, 6), (5, 5), (3, 3), (7, 7)],
[(17, 16), (6, 6), (14, 9), (9, 9), (15, 15)],
[(17, 16), (6, 6), (14, 9), (10, 10)],
[(17, 16), (6, 6), (14, 9), (7, 7)],
[(11, 11), (18, 10), (0, 0), (1, 1)],
[(11, 11), (18, 10), (0, 0), (10, 10)],
[(11, 11), (18, 10), (0, 0), (9, 9), (15, 15)],
[(11, 11), (18, 10), (0, 0), (7, 7)],
[(11, 11), (18, 10), (8, 8), (19, 12), (1, 1)],
[(11, 11), (18, 10), (8, 8), (19, 12), (10, 10)],
[(11, 11), (18, 10), (8, 8), (19, 12), (9, 9), (15, 15)],
[(11, 11), (18, 10), (8, 8), (19, 12), (7, 7)],
[(11, 11), (18, 10), (8, 8), (12, 12), (1, 1)],
[(11, 11), (18, 10), (8, 8), (12, 12), (10, 10)],
[(11, 11), (18, 10), (8, 8), (12, 12), (9, 9), (15, 15)],
[(11, 11), (18, 10), (8, 8), (12, 12), (7, 7)],
[(11, 11), (18, 10), (5, 5), (12, 12), (1, 1)],
[(11, 11), (18, 10), (5, 5), (12, 12), (10, 10)],
[(11, 11), (18, 10), (5, 5), (12, 12), (9, 9), (15, 15)],
[(11, 11), (18, 10), (5, 5), (12, 12), (7, 7)],
[(11, 11), (18, 10), (5, 5), (6, 6), (9, 9), (15, 15)],
[(11, 11), (18, 10), (5, 5), (6, 6), (10, 10)],
[(11, 11), (18, 10), (5, 5), (6, 6), (7, 7)],
[(11, 11), (3, 3), (0, 0), (1, 1)],
[(11, 11), (3, 3), (0, 0), (10, 10)],
[(11, 11), (3, 3), (0, 0), (9, 9), (15, 15)],
[(11, 11), (3, 3), (0, 0), (7, 7)],
[(11, 11), (3, 3), (8, 8), (19, 12), (1, 1)],
[(11, 11), (3, 3), (8, 8), (19, 12), (10, 10)],
[(11, 11), (3, 3), (8, 8), (19, 12), (9, 9), (15, 15)],
[(11, 11), (3, 3), (8, 8), (19, 12), (7, 7)],
[(11, 11), (3, 3), (8, 8), (12, 12), (1, 1)],
[(11, 11), (3, 3), (8, 8), (12, 12), (10, 10)],
[(11, 11), (3, 3), (8, 8), (12, 12), (9, 9), (15, 15)],
[(11, 11), (3, 3), (8, 8), (12, 12), (7, 7)],
[(11, 11), (3, 3), (5, 5), (12, 12), (1, 1)],
[(11, 11), (3, 3), (5, 5), (12, 12), (10, 10)],
[(11, 11), (3, 3), (5, 5), (12, 12), (9, 9), (15, 15)],
[(11, 11), (3, 3), (5, 5), (12, 12), (7, 7)],
[(11, 11), (3, 3), (5, 5), (6, 6), (9, 9), (15, 15)],
[(11, 11), (3, 3), (5, 5), (6, 6), (10, 10)],
[(11, 11), (3, 3), (5, 5), (6, 6), (7, 7)],
[(11, 11), (13, 13), (0, 0), (9, 9), (15, 15)],
[(11, 11), (13, 13), (0, 0), (10, 10)],
[(11, 11), (13, 13), (0, 0), (7, 7)],
[(11, 11), (13, 13), (8, 8), (19, 12), (9, 9), (15, 15)],
[(11, 11), (13, 13), (8, 8), (19, 12), (10, 10)],
[(11, 11), (13, 13), (8, 8), (19, 12), (7, 7)],
[(11, 11), (13, 13), (8, 8), (12, 12), (9, 9), (15, 15)],
[(11, 11), (13, 13), (8, 8), (12, 12), (10, 10)],
[(11, 11), (13, 13), (8, 8), (12, 12), (7, 7)],
[(11, 11), (13, 13), (5, 5), (12, 12), (9, 9), (15, 15)],
[(11, 11), (13, 13), (5, 5), (12, 12), (10, 10)],
[(11, 11), (13, 13), (5, 5), (12, 12), (7, 7)],
[(11, 11), (14, 9), (0, 0), (1, 1)],
[(11, 11), (14, 9), (0, 0), (10, 10)],
[(11, 11), (14, 9), (0, 0), (9, 9), (15, 15)],
[(11, 11), (14, 9), (0, 0), (7, 7)],
[(11, 11), (14, 9), (19, 12), (1, 1)],
[(11, 11), (14, 9), (19, 12), (10, 10)],
[(11, 11), (14, 9), (19, 12), (9, 9), (15, 15)],
[(11, 11), (14, 9), (19, 12), (7, 7)],
[(11, 11), (14, 9), (12, 12), (1, 1)],
[(11, 11), (14, 9), (12, 12), (10, 10)],
[(11, 11), (14, 9), (12, 12), (9, 9), (15, 15)],
[(11, 11), (14, 9), (12, 12), (7, 7)],
[(11, 11), (14, 9), (6, 6), (9, 9), (15, 15)],
[(11, 11), (14, 9), (6, 6), (10, 10)],
[(11, 11), (14, 9), (6, 6), (7, 7)],
[(4, 4), (0, 0), (9, 9), (16, 16)],
[(4, 4), (0, 0), (9, 9), (15, 15)],
[(4, 4), (0, 0), (10, 10), (16, 16)],
[(4, 4), (19, 12), (9, 9), (16, 16)],
[(4, 4), (19, 12), (9, 9), (15, 15)],
[(4, 4), (19, 12), (10, 10), (16, 16)],
[(4, 4), (12, 12), (9, 9), (16, 16)],
[(4, 4), (12, 12), (9, 9), (15, 15)],
[(4, 4), (12, 12), (10, 10), (16, 16)],
[(4, 4), (6, 6), (9, 9), (15, 15)]]