Comment calculer la valeur de correction gamma à partir de l'image de test de test d'affichage capturé de la caméra?

StackOverflow https://stackoverflow.com//questions/10669102

  •  12-12-2019
  •  | 
  •  

Question

Je souhaite développer un appareil d'instrument pouvant calculer la valeur de correction gamma d'un système d'affichage, l'idée est utilisée une caméra calibrée (par exemple, une sortie brute de DSLR via PTP sur USB) pour capturer un gradient d'échelle gris par valeur (gamma= 0, Y= 0,1 étape= bit (Y)), puis utilisez OpenCV ou un autre logiciel de traitement d'image pour déterminer les valeurs grises réelles et comparer aux valeurs d'entrée pour calculer gamma par raccord de courbe ou autre chose.

cela pourrait-il être possible?

Était-ce utile?

La solution

Ceci est possible, certainement. Cela dépend dans une large mesure du dispositif de capture, en particulier de sa précision et de la linéarité. Vous mentionnez que c'est une caméra calibrée, mais cela pourrait signifier un certain nombre de choses (par exemple, il est calibré à un certain espace de couleur de sortie). Juste en étant calibré ne vous dis pas tout sur ses caractéristiques. Par exemple, lors de la lecture des données brutes, obtenez-vous une table de linéarisation? Ou avez-vous l'OECF de l'appareil? Ce sont les deux moyens principaux que vous pouvez transformer la sortie du capteur en une métrique appropriée pour vos calculs gamma.

La boucle de contrôle pourrait ressembler à quelque chose comme:

Monitor ===> Sensor ===> LUT ==> Measurements
   ^                                  |
   |                                  |
   +<-- GPU <--- OS <-- Control SW ---+

où le capteur est votre appareil photo et que la lut est soit la table de linéarisation donnée, soit générée à partir de l'OECF.

Vous devez également vous assurer que, entre la bibliothèque graphique, le système d'exploitation, le matériel pilote et le GPU, que vous savez exactement quelles transformations sont appliquées sur vos couleurs spécifiées afin que vous sachiez simplement ce qui est affiché sur le moniteur. (Par exemple, la conversion entre divers espaces de couleur RVB).

Selon la gamme du moniteur, vous trouverez peut-être une réponse différente de la Greyscale par rapport à un seul canal pur également, de sorte que vous voulez probablement mesurer R, g, b et w séparément.

Généralement, des capteurs dédiés (Photothiodes et al) sont utilisés pour ce type de chose plutôt qu'une DSLR, mais vous pouvez certainement commencer avec cela et voir quel type de résultats obtenez-vous!

Vous pourriez être intéressé par ces outils de fil:

  • ColorHug - Colorimètre d'affichage; Matériel personnalisé et logiciel
  • DISPCALGUI - Logiciel d'étalonnage des couleurs (prend en charge une gamme de matériel commercial)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top