Structure de base pour find_seam (à copier-coller)
Code:
def find_seam(img_grey: Image) -> Seam:
"""Find the seam with the lowest energy."""
print(" Finding seam...")
# (a) création de la liste de liste de PixelData, un par pixel,
# qui contient le coût cumulé du chemin jusqu'à ce pixel
# dans le champ min_energy et les coordonnées du meilleur pixel
# précédent sur la ligne précédente dans le champ parent
# (b) parcours de la première ligne pour définir le coût initial
# de chaque pixel comme simplement sa valeur de gris (ici, le champ
# parent ne voudra rien dire comme on est sur la première ligne)
# (c) parcours de chacune des lignes suivantes et de chacun des pixels
# avec la recherche du meilleur parent sur la ligne d'avant et
# du coût cumulé
# (d) recherche du pixel de la dernière ligne avec le coût cumulé
# le plus bas
# (e) reconstruction du chemin complet à partir du pixel trouvé en (d)
# en remontant la liste de liste de PixelData chaque fois via les
# coordonnées du parent
return ... # TODO
"""Find the seam with the lowest energy."""
print(" Finding seam...")
# (a) création de la liste de liste de PixelData, un par pixel,
# qui contient le coût cumulé du chemin jusqu'à ce pixel
# dans le champ min_energy et les coordonnées du meilleur pixel
# précédent sur la ligne précédente dans le champ parent
# (b) parcours de la première ligne pour définir le coût initial
# de chaque pixel comme simplement sa valeur de gris (ici, le champ
# parent ne voudra rien dire comme on est sur la première ligne)
# (c) parcours de chacune des lignes suivantes et de chacun des pixels
# avec la recherche du meilleur parent sur la ligne d'avant et
# du coût cumulé
# (d) recherche du pixel de la dernière ligne avec le coût cumulé
# le plus bas
# (e) reconstruction du chemin complet à partir du pixel trouvé en (d)
# en remontant la liste de liste de PixelData chaque fois via les
# coordonnées du parent
return ... # TODO
Modifié le: vendredi, 25 novembre 2022, 00:17