我想开发一种可以计算显示系统的伽马校正值的仪器设备,这个想法是使用校准的相机(例如,通过 USB 上的 PTP 从 DSLR 的原始输出)来按值(伽马 = 0,Y = 0,1 step =bit(Y)),然后使用openCV或其他图像处理软件确定实际灰度值并与输入值进行比较,通过曲线拟合或其他方式计算gamma。
这可能吗?
这是可能的,当然。它在很大程度上取决于捕获设备,特别是其准确性和线性度。您提到它是经过校准的相机,但这可能意味着很多事情(例如,它已校准到某个输出色彩空间)。仅仅通过校准并不能告诉您有关其特性的所有信息。例如,在读取 RAW 数据时,您会得到一个线性化表吗?或者你有设备的OECF吗?这是您可以将传感器输出转换为适合您的伽马计算的指标的两种主要方法。
控制回路可能类似于:
Monitor ===> Sensor ===> LUT ==> Measurements
^ |
| |
+<-- GPU <--- OS <-- Control SW ---+
其中传感器是您的相机,LUT 是给定的线性化表或从 OECF 生成的。
您还需要确保在图形库、操作系统、驱动程序和 GPU 硬件之间,您确切知道对指定颜色应用了哪些转换,以便您知道显示器上正在显示什么。(例如,各种 RGB 颜色空间之间的转换)。
根据监视器色域,您可能会发现灰度响应与单个纯通道的响应不同,因此您可能需要分别测量 R、G、B 和 W。
通常,专用传感器(光电二极管等)用于这类事情而不是数码单反相机,但你当然可以从它开始,看看你得到什么样的结果!
您可能对这些 FLOSS 工具感兴趣: