Association Astronomique de l’Indre
Slogan du site

Le site officiel de l’Association Astronomique de l’Indre.
Association loi 1901 , dont le but est la promotion de la culture et de la réflexion scientifique, en particulier dans les domaines liés à l’astronomie et aux sciences de l’espace.

Elimination des auréoles dans une image numérique

Compte-rendu d’une démarche utilisant le langage de programmation Python à destination des lecteurs intéressés par ce sujet.

Article mis en ligne le 25 février 2016
dernière modification le 1er novembre 2022

Quand on utilise un logiciel « tout fait », il faut déjà comprendre sa logique de fonctionnement et essayer de « faire avec » en fonction du résultat souhaité.
Dans certains cas - non prévus - on restera insatisfait.
Un logiciel fait « à la main » est une page blanche : on essaie de définir le résultat attendu et ensuite, en fonction de son habileté dans le langage, mais aussi de la façon dont on imagine y parvenir, on essaie de réaliser le « bon outil ».
En fait on devient une sorte d’artisan pointilleux confronté à la réalité têtue des choses.

1.
L’image de départ comporte des auréoles rouges et bleues qui résultent des défauts de l’objectif utilisé.
http://lerautal.lautre.net/journal/AAI/traitements/aureoles4.jpg

Résultat souhaité : faire disparaître les auréoles tout en conservant toute l’énergie lumineuse des 3 couleurs, c’est à dire en respectant l’équilibre du sujet réel.

2.
Le programme a été conçu de telle façon qu’il identifie les pixels verts, rouges et bleus de chaque étoile.
Ensuite en prenant comme dimension de référence celle de l’étoile en couleur verte, on répartit l’énergie rouge et l’énergie bleue dans la forme (de l’étoile en lumière verte).
Le résultat obtenu doit faire réfléchir :
http://lerautal.lautre.net/journal/AAI/traitements/aureoles42.png

En fait, pour quelques étoiles, l’excès de rouge est tel qu’il sature... mais sans déborder.

3.
D’où l’idée d’élaguer les excès : quand un pixel dépasse la valeur admissible (ici 255) on le met à 255.
Cela donne l’image suivante :
http://lerautal.lautre.net/journal/AAI/traitements/aureoles4.png
Comme une partie du rouge (et du bleu) a été jetée... l’image semble avoir un excès de vert.
Prendre comme dimension de référence la taille de l’étoile en vert n’est sans doute pas la meilleure idée.
Faudra-t-il prendre la dimension en rouge, en bleu, la plus grande ?
Il va falloir expérimenter.

4.
Pour mettre au point un programme, il faut générer des traces.
Ici on en génère deux, sans parler de quelques informations à l’écran.
Les traces sont écrites dans des fichiers que l’on peut reprendre au calme.
4.1.
La première trace est le reliquat des pixels après traitement : l’image telle qu’elle reste une fois que l’on CROIT avoir enlevé ce qu’elle contient.
Voici ce qui reste, ici :
http://lerautal.lautre.net/journal/AAI/traitements/aureoles4_relicat.png
4.2.
La seconde est le listage de la position des pixels avant et après traitement, dans un format qui est lisible avec un éditeur ou un tableur :
http://lerautal.lautre.net/journal/AAI/traitements/traces.csv

5.
Le programme en langage Python comprend deux fichiers source :
une partie annexe :http://lerautal.lautre.net/journal/AAI/traitements/morphology_annexe01.py
ainsi qu’une partie principale :
http://lerautal.lautre.net/journal/AAI/traitements/morphology_find12.py

Des commentaires sont inclus dans le code de la façon suivante :
« »« ceci est un commentaire »« »
# ceci est un commentaire
Les commentaires ne sont pas exécutés par le programme. Ils sont là pour aider à la relecture et à la correction.

Comme tout travail en cours de réalisation, celui-ci devra être amélioré.


Plan du site Mentions légales Espace privé RSS

2009-2023 © Association Astronomique de l’Indre - Tous droits réservés
Haut de page
Réalisé sous SPIP
Habillage ESCAL 5.0.8