Numérisation à partir d'un livre - Suppression du dégradé

9

Cet exemple d'image:

img

est déformé sur le côté gauche.

Je ne veux pas déformer, mais simplement supprimer le dégradé d'ombre (causé par la colonne vertébrale du livre). Je suppose que le gradient peut être calculé à partir de la partie supérieure de l'image et que les informations peuvent être utilisées pour la reconstruction.

J'ai d'abord pensé appliquer une transformation de calque dans Photoshop. J'ai pris la partie supérieure avec un dégradé clair et l'ai redimensionnée verticalement pour couvrir toute l'image dans un nouveau calque. Ensuite, j'ai fait la différence de couche:

img

mais tandis que la partie supérieure est reconstruite de façon acceptable, la partie colorée ne l'est pas.

Quelqu'un at-il une idée de la façon d'aborder cela dans Photoshop, ou Python / SciPy / OpenCV, ou Matlab?

zetah
la source
2
essayez d'appliquer un filtre de saturation avec le même masque dans photoshop
geometrikal
1
Salut geometrikal;) Pouvez-vous le poster en tant que réponse et coller la capture d'écran du résultat? Merci
zetah

Réponses:

8

L'approche la plus simple serait de diviser le gradient plutôt que de le soustraire. Voici à quoi ressemble le résultat:

Suppression du dégradé

datageist
la source
C'est vraiment cool! Comment avez-vous extrait le dégradé?
Phonon
Oh, de la même manière que l'OP (je pense). A pris la section supérieure et l'a mise à l'échelle verticalement.
datageist
Cool, je m'en doutais. =)
Phonon
Merci, ça marche très bien. D'après le nommage du mélange des opérations de calque, je suppose que vous utilisez Gimp;)
zetah
J'ai en fait utilisé PS (CS6), mais je pensais plus aux mathématiques qu'aux modes de mélange :)
datageist