测量来自相机的光的亮度

时间:2017-03-14 06:55:09

标签: opencv image-processing camera

我可以检测图片中的强度或光量吗?

例如,

  

我有一些照片是在早上,下午拍摄的   日落前的时间,我想知道光量。

我只需要知道如何做到这一点。此外,我可以访问相机增益,曝光和其他参数。 我使用的相机是ZED相机。 我理解从RGB空间转换为亮度空间的公式,如here所述。但我不确定它是否是一种有效的解决方案。

3 个答案:

答案 0 :(得分:2)

为了测量图像的亮度,我建议使用 LAB 色彩空间。 L 通道(灯光)表示图像中存在的光量。

很少有优点:

  1. 由于 L 频道处理图像的光强度,因此修改它会增强图像。
  2. 研究表明, L 频道非常类似于我们人类在现实世界中感知光强度的方式。

答案 1 :(得分:2)

由于某种原因,你似乎没有在评论部分回答我的问题,所以我不确定你要做什么,但它似乎是在确定天空的一般亮度或某些东西。

因此,首先,您需要确定图像中的平均亮度/亮度。对于此步骤,您可以使用cvtColor()转换为Lab或HSL colourspace,然后使用Lmean()获取整个图像上meanStdDev()频道的平均值。< / p>

现在,我猜这是你的问题实际上是什么,你需要纠正曝光,因为曝光可能会在两个图像之间变化。因此,影响曝光的三个因素是ISO(a.k.a.胶片感光度),镜头光圈和曝光时间。

基本上,光圈变化的每个f-stop表示镜头光圈区域的减半或加倍,因此击中传感器的光量加倍或减半。因此,f4让f5.6的亮度提高2倍,并且让f8的亮度提高两倍,依此类推。请注意,每个完全停止的光线与下一个完全不同的是sqrt(2)。

与ISO相同,每次ISO加倍(或灵敏度加倍)时,光量都会翻倍。

与曝光时间相同,每秒1/2秒是四分之一秒的两倍。

所以,基本上,你有平均亮度值,你需要纠正光圈,ISO和曝光持续时间。实际上,您必须将图像标准化为标准光圈,ISO和曝光时间。每个不同的图像与您的图像不同,您必须将平均亮度加倍或减半。每个ISO步骤,您的图像与您的正常图像不同,您必须将平均亮度加倍或减半。每当您的曝光持续时间与标准化的标准化持续时间不同时,您必须将平均平均亮度乘以当前图像与标准化图像的比率。

然后你的平均亮度将相互比较。

(滤镜也会影响曝光,但我认为您不会在曝光之间添加或删除滤镜。)

在回答你的评论时,我从未见过有人写过这样的公式,但我的评论相当于:

L * 2^aperture
--------------
ISO * time

答案 2 :(得分:1)

您可以希望用相机测量,一些图像是相对亮度。即使您有相机设置。 https://en.wikipedia.org/wiki/Relative_luminance

如果您想知道绝对辐射测量单位的光量,您需要使用某种绝对光度计或测量光源来校准您的相机。有关如何执行此操作的参考,请参阅: 第2.5节从http://www.pauldebevec.com/Research/HDR/debevec-siggraph97.pdf

获得绝对辐射