如何从相机捕获的显示测试图像计算伽马校正值?

时间:2012-05-19 21:51:43

标签: opencv gamma

我想开发一种可以计算显示系统伽马校正值的仪器设备,这个想法用于校准相机(例如,通过USB通过PTP从DSLR原始输出)以按值捕获灰度梯度(gamma = 0 ,Y = 0,1步=位(Y)),然后使用openCV或其他图像处理软件确定实际灰度值,并与输入值进行比较,通过曲线拟合或其他方式计算伽玛值。

这可能吗?

1 个答案:

答案 0 :(得分:1)

当然,这是可能的。它在很大程度上取决于捕获设备,特别是其准确性和线性度。你提到它是一个经过校准的相机,但这可能意味着许多事情(例如,它被校准到某个输出颜色空间)。仅仅通过校准并不会告诉您有关其特性的所有信息。例如,在读取RAW数据时,您是否获得了线性化表格?或者你有设备的OECF?这两种主要方法可以将传感器输出转换为合适的伽玛计算指标。

控制循环可能类似于:

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

传感器是您的相机,LUT是给定的线性化表或从OECF生成。

您还需要确保在图形库,操作系统,驱动程序和GPU硬件之间,确切地知道对指定颜色应用了哪些转换,以便您知道显示器上显示的内容。 (例如,各种RGB色彩空间之间的转换)。

根据显示器色域的不同,您可能会发现灰度与单个纯通道的响应不同,因此您可能需要分别测量R,G,B和W.

通常情况下,专用传感器(光电二极管等)用于此类事物而不是数码单反相机,但你可以从那开始,看看你得到了什么样的结果!

您可能对这些FLOSS工具感兴趣:

  • ColorHug - 显示色度计;自定义硬件和软件
  • dispcalGUI - 色彩校准软件(支持一系列商业硬件)