Éclaircir sans déborder
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 8 — Matrices de pixels et images
Énoncé
Écrire eclaircir(img, delta) qui ajoute delta à chaque pixel tout en écrêtant les valeurs dans . Expliquer pourquoi cette transformation n'est pas inversible.
Corrigé
def eclaircir(img: list, delta: int) -> list:
n, p = len(img), len(img[0])
return [[min(255, max(0, img[i][j] + delta)) for j in range(p)]
for i in range(n)]
L'écrêtage détruit de l'information. Si un pixel de valeur est éclairci avec delta = 30, sa valeur est bridée à . Si l'on applique ensuite la transformation inverse avec delta = -30, la valeur obtenue est de au lieu de retrouver . Les deux opérations ne sont donc pas inverses l'une de l'autre.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.