Partir à l’aventure avec la nouvelle caméra Pi

Notes et photographies prises au fil d’une expérimentation.
Y aura-t-il une réussite au bout ?
On ne le sait pas pour le moment.

Article mis en ligne le 26 mai 2020
dernière modification le 29 juin 2020

par Lerautal

Parcours initiatique avec une petite chose...

1. Une caméra ? mais à quel prix ?

Mon cas est semblable à celui de multiples astronomes amateurs qui se risquent, de temps en temps à faire des photos du ciel.

Curieux, mais pas assez motivé - ou pas assez « friqué » - pour « claquer » 3000 euros dans une caméra avec filtres pour photographier, 10 soirées par an, les quelques objets Messier qui remplissent les sites associatifs ou personnels.

« À quoi bon ? Mon APN me suffit bien... »

Pourtant, la curiosité est en veille, l’envie de « consommer de la technologie nouvelle », sournoise, pousse parfois à sortir du chemin de la raison.
Au point qu’il m’a fallu me frustrer délibérément pour ne pas dépenser de l’argent, comme cela, sans vraie raison...

Jusqu’à ce que...

2. La petite chose surprenante

Il a déjà été question ici des cartes Raspberry Pi et de la petite caméra dite « modèle 2 » avec laquelle quelques expérimentations ont été faites par deux d’entre-nous. (voir sur le site).

Mais avec ses tout petits pixels, et ses temps de pose trop courts, cette caméra semblait d’usage limité.

La Fondation Raspberry Pi a eu l’excellente idée de proposer une version 3 de sa caméra qui semble prometteuse et probablement plus adaptée à nos besoins.

Plus chère que la précédente, elle reste tout de même bien plus économique que les caméras « astro » du commerce.

3. Un long cheminement

Vous trouverez ici des liens vers des documents réalisés « à part », qui racontent les essais/erreurs, apprentissages, liens utiles, questions réponses...

Fiches bricolages :

http://lerautal.lautre.net/journal/AAI/camerapi/adaptation.pdf

http://lerautal.lautre.net/journal/AAI/camerapi/adaptation2.pdf

http://lerautal.lautre.net/journal/AAI/camerapi/adaptation3.pdf

Le long compte-rendu :

http://lerautal.lautre.net/journal/AAI/camerapi/aventure2.html

4. État des lieux, le 12 juin 2020

On trouve ces informations dans les liens signalés plus haut, mais quelques faits saillants peuvent alimenter cette page.

- Adaptation de l’ensemble Pi+Caméra Pi au porte oculaire 1,25 pouces.
Pour le prix d’un adaptateur à quelques euros, long à être livré à cause de l’épidémie, il est possible d’associer le matériel à une lunette ou un télescope.

et

JPEG

- Un logiciel spécifique dédié au pilotage des caméras Pi, via une interface web : https://elinux.org/RPi-Cam-Web-Interface

Cet outil, très riche en possibilités, mérite un complément d’information.

Liens complémentaires

En fait, cette caméra a été mise en vente très vite, alors que les « outils optimisés » n’existent pas encore.

Les outils existants sont ceux qui accompagnent les deux précédentes caméras Pi : la 5 megas et la 8 mégas :

- raspistill et raspiyuv pour la photo,
- raspivid et raspividyuv pour la vidéo.
- La bibliothèque pour le langage Python pycamera.

Mais la caméra HD utilise un autre capteur : le Sony IMX477.
- Fiche technique : https://www.sony-semicon.co.jp/products/common/pdf/IMX477-AACK_Flyer.pdf
- Tableau récapitulatif de quelques capteurs Sony : https://www.sony-semicon.co.jp/e/products/IS/camera/product.html

Le capteur IMX477 peut générer des images codées sur 12 bits.
Or quand on prend des photos en JPG ou en PNG, on n’utilise que 8 bits par couleur, ce qui est commode mais n’exploite pas complètement les possibilités du capteur.

Pour essayer d’aller plus loin, le mieux est encore d’aller lire les forums consacrés au Raspberry Pi et à ses caméras.
C’est en anglais mais avec un traducteur automatique beaucoup de choses restent lisibles.

Exemple ici d’un fil sur « raspiraw », un développement open source pour obtenir des images au format RAW :
https://www.raspberrypi.org/forums/search.php?keywords=raspiraw

... où l’on peut lire ceci : « raspiraw peut obtenir des données Bayer en 12 bits et pour les images fixes, raspistill -r inclura une image Bayer brute de 12 bits à l’intérieur du jpeg. » (12 bits par couleur dans un JPEG ???).
Les formats RAW seraient (???) décodées par DCRAW...

État des lieux, le 24 juin 2020

Premier pic de chaleur de 2020... un après-midi au frais.

Points acquis :

- Les données raw sont effectivement incluses à la fin du document jpeg quand on active l’option —raw de raspistill. Elles se rapportent à la totalité du capteur, même si l’image jpeg est de dimension réduite.
- Pour extraire les données raw, plusieurs solutions sont possibles (au moins en théorie) et nous allons détailler ici ce qui a été expérimenté.

a. Raspiraw

Pas encore expérimenté.

b. Décodage via un programme Python donné en exemple

Programme qui explique le décodage des données capturées par les caméras Pi 1 et 2, et qui peut servir de piste de recherche pour le décodage de la caméra HD. :
https://picamera.readthedocs.io/en/release-1.13/recipes2.html#raw-bayer-data-captures

Quelques expérimentations ont été faites, mais, faute d’avoir compris l’ensemble du code, cette solution est provisoirement laissée de côté.

c. Dcraw

Cité depuis Wikipedia : dcraw (prononcé di-ci-ro) est un logiciel libre de décodage de fichiers de photographiques numériques au format brut, tels que fournis par le capteur photographique, et que l’on trouve sur appareil photographique reflex numérique, et parfois sur certains hybrides ou compacts.
https://fr.wikipedia.org/wiki/Dcraw

Je l’utilise pour « dérawtiser » les photos de mon APN et n’imaginais pas que l’on pouvait aussi l’utiliser pour la caméra Pi.

En cherchant sur le forum ouvert sur le « monde du Pi », je suis tombé sur cette page (utiliser un traducteur automatique) :

https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=273500&p=1665436&hilit=dcraw#p1665436

Lire en priorité le message

Re: High Quality Camera RAW Examples
Sat May 23, 20Re

Explications :

- Le code initial de Dcraw, codé par Dave Coffin, a été modifié de façon à offrir aussi le décodage des caméras Pi.
- On le trouve ici. https://github.com/6by9/dcraw
(j’ai suivi les indications données : clonage du git, mise à jour du complément logiciel, compilation. Le tout sur un Pi 4).
On obtient ainsi un logiciel en ligne de commande qui se lance par :

./dcraw des options fichier.jpg

Rappel : c’est le « vrai » dcraw, mais avec des possibilités supplémentaires. Avantage du logiciel libre, on a pu adapter un outil existant à un besoin non satisfait.

Premier résultat :

Exemple de traitement de cette image jpeg + raw :
http://lerautal.lautre.net/journal/AAI/camerapi/jepg_plus_raw.jpg

Après traitement (rapide, même sur le Pi), on obtient une image TIFF 16 bits, affichée ici avec GIMP.

JPEG

La ligne de commande utilisée était la suivante :

./dcraw -T -6 -W -r 3.0 1.0 1.49 1.0 -g 1 1 jepg_plus_raw.jpg

L’image semble moins colorée que le jpeg ? Reprenons la ligne de commande et expliquons pourquoi.

Dcraw utilise des paramètres passés par des lettres et des chiffres :

- T -6 signifie : générer une image au format TIFF 16 bits

- W signifie : représentation linéaire (pas de correction par histogramme).

- r 3.0 1.0 1.49 1.0 définit la balance des blancs (l’équilibre des couleurs). On pourra faire varier ces paramètres, mais au risque de travestir les couleurs de la scène. Chaque boîtier de marque a sa (ses) propre balance des blancs. Ici, je ne la connais pas et ai pris les valeurs données dans l’exemple.

- g 1 1 réglage du gamma. Les valeurs prises ici sont totalement arbitraires. Les boîtiers photo utilisent des « normes prédéfinies ». Par exemple la norme BT.709 : -g 2.222 4.5 qui est loin des 1 1 passés ici.

Conclusion provisoire, remarques :

- Dcraw apporte une solution à une nécessité : l’utilisation de la caméra en mode 12 bits.
- Si la caméra et le Pi pouvaient être associés dans une « boîte » qui les protégerait, ce serait un réel plus.

État des lieux, le 29 juin 2020

Une courte présentation du logiciel de pilotage imaginé et codé en Python par Jean-Louis Betoule (notre vaguemestre).

Ce logiciel évolue au fil du temps. Il permet beaucoup d’autres choses que celles brièvement évoquées ici (mise au point à partir de la largeur à mi-hauteur d’une étoile, par exemple).

Lire : http://lerautal.lautre.net/journal/AAI/camerapi/adaptation5.pdf