Tracciamento rapido degli istogrammi RGB di un'immagine astronomica

a cura di Paolo Botton
01 settembre 2015


Nel corso delle mie attività notturne con l'ausilio di un datato portatile con OS Linux, è sorta la necessità di avere a disposizione un semplice e snello programma in grado di tracciare esclusivamente l'istogramma RGB di un'immagine acquisita tramite una DSLR, principalmente per la calibrazione dell'esposizione, prima di avviare una sessione di acquisizione di foto del cielo profondo.
Come si trova scritto un po' ovunque, l'istogramma di un'immagine è un tipo di grafico che rappresenta la distribuzione tonale di un'immagine digitale, pertanto, chiunque osservi l'istogramma di una immagine, è in grado di giudicarne a prima vista l'intera distribuzione tonale.
Gli istogrammi sono presenti sui software di gestione dei display LCD delle DSLR e sono già sfruttati come supporto per visualizzare la distribuzione tonale catturata dall'immagine, e se viene perso un dettaglio dell'immagine è stato perso a causa dell'eccesso di luminosità o di ombre eccessivamente scure.
In un istogramma, l'asse delle ascisse del grafico rappresenta le variazioni tonali, mentre l'asse dele ordinate rappresenta il numero di pixel di quel particolare tono.

La parte sinistra dell'asse delle ascisse rappresenta le aree scure e nere, la parte centrale le aree grigie e la parte destra le aree bianche e più chiare.
L'asse delle ordinate rappresenta la grandezza dell'area che è stata catturata in ognuna di queste zone, così l'istogramma di un'immagine molto luminosa con poche aree scure e/o ombre avrà più punti verso la destra e il centro del grafico, al contrario per un'immagine poco luminosa.
L'area a sinistra del picco, mostrato nell'immagine d'esempio di una foto deep-sky, contiene l'informazione del fondo cielo, quella a destra riposta l'informazione legata alle stelle.

Per venire incontro a questa esigenza di semplicità ho progettato uno script Python (versione 2.7.x) estremamente semplice, che gira solo in ambinete Linux, distribuzione UBUNTU 14.02, il cui binario è reperibile a questo link.
Lo script, invece, si può scaricare da qui. Una volta scaricato si rende eseguibile il programma con il comando

 
 paolo@nova:~/SN$ chmod ugo+x istogrammiRGB.pyc
 

e lo si avvia, passandogli come parametro, il nome dell'immagine da analizzare, con la sua estensione (.jpg. .png, ecc.).

Ad esempio...
 
 paolo@nova:~/SN$ ./istogrammiRGB.pyc M15.jpg
 
oppure, senza renderlo eseguibile, lo si avvia direttamente dall'interprete python, scrivendo sulla shell:
 
 paolo@nova:~/SN$ python istogrammiRGB.pyc M15.jpg
 
Ogni avvio produrrà una finestra, come quelle inserite ad esempio qua sotto...


Immagini: SidereoGRID - Paolo Botton - Per espanderle, fare click sull'immagine: sarà aperta in una nuova finestra.

È possibile integrare lo script Pytrhon all'interno di uno shell-script, in modo da serializzare la serie degli istogrammi delle immagini di prova in modo automatico, nota la convenzione degli identificatori dei file immagine prodotti dalla DSLR.
È pacifico che esistono programmi eccezionali per la verifica degli istogrammi; ad esempio uso IRIS sul Desktop con OS Windows perché gratuito e potente, ma sotto Linux non tutti funzionano a dovere e spesso sono imcompatibili con le nuove distribuzioni (problemi legati alle dipendenze, librerie obsolete o non più supportate, ecc...). Questo che ho scritto in Python lo posso manutenere e svolge solo il lavoro per cui è stato progettato ed è molto snello e leggero, quindi espressamente adatto ai miei scopi.
Non è escluso che in futuro lo possa integrare in altri programmi che ho già proposto su questo sito, per svilupare un prodotto open-source utile alle procedure di precalibrazione del setup per le riprese astronomiche con la DSLR in ambiente Linux.
Questo senza nessuna velleità competitiva con altri programmi commerciali...


© Paolo B.
www.000webhost.com