thomas@hammoudi:~/dev$

Rétro-ingénierie de boîtiers : des rendus film en JPEG, sans Lightroom

Faire sortir à de vieux boîtiers Nikon et Pentax, directement en JPEG, les rendus que l'on va d'habitude chercher dans Lightroom.

Cinq écrans du menu en vert sur noir que Thomas a conçu pour le Nikon D40 : préréglages de films, programmes, ISO auto, configuration.
Cinq écrans du menu en vert sur noir que Thomas a conçu pour le Nikon D40 : préréglages de films, programmes, ISO auto, configuration.

Le problème

Classic Chrome, Tri-X, Portra, Kodachrome : pour avoir ces rendus, il faut acheter le boîtier qui les a, ou passer chaque photo dans Lightroom. J’avais de vieux boîtiers au capteur excellent et au rendu quelconque.

Ce que ça fait

Quatre boîtiers sortent maintenant de vrais JPEG « film » sans retouche : un Nikon D40 (2006) et un D200 (2005), au firmware modifié, un D750 (neuf réglages chargés par USB) et un Pentax 645D (quatre réglages chargés par USB). Une photo des quatre réglés sur le Classic Chrome, côte à côte, se distingue à peine : j’ai mis les lecteurs au défi.

Comment ça marche

Chaque rendu suit la même méthode. On calcule d’abord la cible : à quoi la photo ressemblerait avec le film imité. On mesure ensuite ce que les réglages du boîtier savent faire. Un calcul trouve le réglage le plus proche, mesuré en écart de couleur perçu (ΔE2000). Le réglage entre dans le boîtier par l’une de deux voies : un firmware modifié sur les deux plus anciens, un chargement par USB sur les deux autres. Enfin je photographie une vraie scène et je compare le JPEG sorti du boîtier à la cible, zone par zone. Si l’écart reste trop grand, on affine et on recommence.

Qui fait quoi

Qui fait quoi, en un schémaretro-ingenierie-boitiers/schema.svg
Rétro-ingénierie de boîtiers : qui fait quoiOn calcule le rendu visé, on mesure ce que le boîtier sait faire, on calcule le réglage le plus proche, puis on le charge soit en modifiant le firmware (D40, D200), soit par USB (D750, 645D). Le JPEG du boîtier est comparé à la cible, et on recommence si l'écart est trop grand. $ fonctionnement --retro-ingenierie 7 briques · 1 boucle CIBLE Le rendu visé (Classic Chrome, Tri-X, Portra), calculé depuis le RAW de la scène. MODÈLE DU BOÎTIER Ce que ses réglages savent faire, mesuré sur des photos réelles. CALCUL DU RÉGLAGE Le réglage le plus proche de la cible, jugé en écart de couleur ΔE2000. VOIE USB D750 et 645D : le Mac écrit les réglages dans le boîtier, sans toucher au firmware. VOIE FIRMWARE D40 et D200 : les tables de rendu sont modifiées, puis flashées. LE BOÎTIER Photographie la scène et sort son JPEG. VÉRIFICATION JPEG contre cible, zone par zone. Écart trop grand : on affine. ce qu'on vise ce qu'il sait faire D40, D200 D750, 645D réglages par USB firmware flashé JPEG boucle d'essais
Rétro-ingénierie de boîtiers : qui fait quoiOn calcule le rendu visé, on mesure ce que le boîtier sait faire, on calcule le réglage le plus proche, puis on le charge soit en modifiant le firmware (D40, D200), soit par USB (D750, 645D). Le JPEG du boîtier est comparé à la cible, et on recommence si l'écart est trop grand. $ fonctionnement --retro-ingenierie CIBLE Le rendu visé (Classic Chrome, Tri-X, Portra), calculé depuis le RAW de la scène. ce qu'on vise MODÈLE DU BOÎTIER Ce que ses réglages savent faire, mesuré sur des photos réelles. ce qu'il sait faire CALCUL DU RÉGLAGE Le réglage le plus proche de la cible, jugé en écart de couleur ΔE2000. D750, 645D VOIE USB D750 et 645D : le Mac écrit les réglages dans le boîtier, sans toucher au firmware. ou D40, D200 VOIE FIRMWARE D40 et D200 : les tables de rendu sont modifiées, puis flashées. réglage chargé LE BOÎTIER Photographie la scène et sort son JPEG. JPEG VÉRIFICATION JPEG contre cible, zone par zone. Écart trop grand : on affine.
le schéma en texte
  • La cible : le rendu visé, calculé depuis le RAW de la scène.
  • Le modèle du boîtier : ce que ses réglages peuvent produire, mesuré sur de vraies photos.
  • Le calcul : choisit le réglage le plus proche de la cible.
  • La voie firmware (D40, D200) : les tables de rendu du firmware sont modifiées, avec les sommes de contrôle recalculées.
  • La voie USB (D750, 645D) : le Mac écrit les réglages dans le boîtier et pilote les séances d’essai.
  • Le boîtier : fabrique le JPEG.
  • La vérification : compare le résultat à la cible et ferme la boucle.
  • Claude Code : j’ai fait ce travail avec lui, et le dépôt contient une consigne pour qu’une IA refasse la démarche sur un autre boîtier.

Ce que vous pouvez récupérer

Le dépôt GitHub est public : la méthode générale, la consigne pour une IA, les recettes des quatre boîtiers et deux firmwares prêts à flasher (D40 et D200, fournis sans garantie, droits de Nikon réservés). Les outils sont écrits en Python, avec Swift pour le pilotage USB, et mon travail est sous licence CC BY-NC-SA 4.0 (usage non commercial). Le dépôt vous est aussi envoyé par mail depuis la page du sujet. Je ne détaille pas ici la procédure de flash : elle est dans le dépôt, avec ses limites.

Ce que j'en retiens

Le plus utile n’a pas été le code mais la mesure : tant qu’on juge à l’œil, on tourne en rond. Dès qu’on a un chiffre d’écart, la boucle d’essais devient presque mécanique. J’ai aussi appris qu’un résultat bizarre vient souvent du protocole (une balance des blancs en automatique) plutôt que de la recette.

Récupérer ce modèlegratuit

Le dépôt complet avec la méthode, les recettes de chaque boîtier et les firmwares D40 et D200 prêts à flasher, envoyé par mail depuis la page du sujet.

# En vous inscrivant, vous recevez aussi « Ça marche chez moi », au plus une lettre par semaine. Désinscription en un clic.

Images

  • Un même sujet photographié par quatre boîtiers avec le rendu Classic Chrome recréé en JPEG direct.
    Un même sujet photographié par quatre boîtiers avec le rendu Classic Chrome recréé en JPEG direct.
  • Roue de teintes servant à mesurer comment un boîtier déplace chaque couleur.
    Roue de teintes servant à mesurer comment un boîtier déplace chaque couleur.

tous les projets