Enonce
Soit une image binaire représentée dans un tableau à 2 dimensions. Les éléments
M[i][j]
, appelés pixels, sont égaux soit à 0
soit Ă 1
.
Une composante d’une image est un sous-ensemble de l’image constitué uniquement de
1
et de 0
qui sont cĂ´te Ă cĂ´te, soit horizontalement soit verticalement.
Par exemple, les composantes de
sont
On souhaite, à partir d’un pixel égal à 1
dans une image M
, donner la valeur val
Ă tous
les pixels de la composante Ă laquelle appartient ce pixel.
La fonction propager
prend pour paramètre une image M
(représentée par une liste de
listes), deux entiers i
et j
et unevaleur entière val
. Elle met Ă la valeur val
tous les pixels de la composante du pixel
M[i][j]
s’il vaut 1
et ne fait rien s’il vaut 0
.
Par exemple, propager(M, 2, 1, 3)
donne
{: .center width=30%}
Compléter le code récursif de la fonction propager
donné ci-dessous :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Exemple :
>>> M = [[0, 0, 1, 0], [0, 1, 0, 1], [1, 1, 1, 0], [0, 1, 1, 0]]
>>> propager(M, 2, 1, 3)
>>> M
[[0, 0, 1, 0], [0, 3, 0, 1], [3, 3, 3, 0], [0, 3, 3, 0]]