Fusion d’étiquettes selon les distances des centroïdes
Dans ce notebook, nous allons fusionner les étiquettes dans une image d’étiquettes selon les distances de leurs centroïdes les uns par rapport aux autres. Les étiquettes proches seront fusionnées.
Voir aussi
À des fins de démonstration, nous utilisons une version modifiée des étiquettes dérivées de l’image d’exemple des blobs. Nous introduisons artificiellement des espaces entre elles.
|
cle._ image
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0.0 | | max | 47.0 |
|
À partir de cette image, nous extrayons les coordonnées des centroïdes. À partir de ces centroïdes, nous pouvons construire une matrice de distances. Dans cette matrice, la distance de tous les centroïdes à tous les autres centroïdes est calculée. La diagonale est nulle car elle correspond à la distance d’un centroïde à lui-même. De plus, la distance à l’arrière-plan (première ligne et première colonne) est également nulle, car l’arrière-plan n’est pas pris en compte pour le calcul des distances.
|
cle._ image
| shape | (48, 48) |
| dtype | float32 |
| size | 9.0 kB |
| min | 0.0 | | max | 324.1848 |
|
Nous pouvons seuiller cette matrice de distances avec une distance maximale donnée. Le résultat est une matrice binaire.
|
cle._ image
| shape | (48, 48) |
| dtype | uint8 |
| size | 2.2 kB |
| min | 0.0 | | max | 1.0 |
|
Si nous fusionnions les étiquettes avec l’arrière-plan, toutes les étiquettes seraient fusionnées car toutes touchent l’arrière-plan. Pour éviter cela, nous mettons la première ligne et la première colonne à zéro.
|
cle._ image
| shape | (48, 48) |
| dtype | uint8 |
| size | 2.2 kB |
| min | 0.0 | | max | 1.0 |
|
En utilisant la matrice binaire ci-dessus, nous pouvons maintenant fusionner les étiquettes en conséquence.
|
cle._ image
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0.0 | | max | 4.0 |
|