Adloun

É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.