使用相机定量检测光闪烁

问题由来最近买了个小米Yeelight吸顶灯,用来替换家里坏掉的灯。用手机给几个吸顶灯拍了下照,本想看看光源的均匀程度。左上:松下三基色荧光灯;右上:松下LED

很多朋友对于使用相机定量检测光闪烁和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

拍照时,我发现有些灯在闪烁。所以我想系统地测量它们的闪烁。我手头正好有一台Basler工业相机,它是逐行扫描的,可以做到这一点。

原理

交流电

频闪光源主要来自交流电。因为在交流电的驱动下,光的强度随时间而变化。

市电的波形是正弦波,其功率可以简化为正弦波的平方。可以看出,频率与2次有关。

因此,对于50Hz的市电电源,白炽灯的频闪为100Hz。

对于其他灯,可能有AC/DC转换、恒流驱动和PWM调光。不管怎样,只要有一定的低频交流成分,就会出现频闪。

逐行扫描

对于100Hz的频闪,人眼一般感觉不到。假设我们使用每秒可以拍摄1000张照片的相机,固定曝光(光圈/快门/ISO),在灯光下拍摄白纸的照片。这些照片的亮度和暗度会定期变化。我们可以从这些照片中分析亮度随时间的变化。

然而,我没有这么快的相机。但我有一台逐行扫描相机,可以在10毫秒内“拍摄”2000行(实际上只是一张照片)。我们分析每条线的亮度变化,可以做同样的事情。

逐行扫描相机(图像传感器CCD或CMOS)实际上是比较低端的,有时被称为卷帘快门(它的反义词是全局快门)。其实它们都是电子开关。卷帘快门可以比作卷帘。下面是原理示意图。

在全局快门模式下,所有CCD/CMOS 点同时曝光,然后逐行读出。

卷帘快门模式下,每行曝光存在时间差,边曝光边读出数据。 (但不是严格顺序的,曝光时间可以重叠)

“每行时间差”对于此测量很重要。我使用的Basler模型的这个参数是35us。这意味着行采样的采样率为1/35us,即28.57KHz。这个值远高于每秒1000张图片。

测量方法及注意事项

这种测量方法有一个重要前提:同一时刻,场景中每条线的亮度相等。否则,如果拍摄的照片每一行的亮度不同,这是由于场景中亮度的固有差异造成的,还是由于光源亮度随时间的波动而导致的?简而言之,如果要衡量时间上的波动,空间上就不应该有波动。

为了达到这个目的,我们需要让光源严格垂直于白纸,那么相机也必须垂直于白纸。但这样操作起来比较困难。所以我使用了一个奇怪的技巧:将相机直接对准光源,而不使用镜头。这样,光源的形状就不会成像在“负片”上,而只是均匀的白光(类似于镜头未对焦时的模糊)。

另外,曝光时间越短越好。试想一下,如果对100Hz的光源使用10ms的曝光时间,每一行的曝光时间是一个完整的交流电周期,它们的曝光量相等,不会观察到频闪。

测量数据

测量使用的节能灯、日光灯比较老旧,护眼台灯都是杂牌。

测量的原始数据是一张一张的照片。滚动条纹在某些照片中清晰可见,而在其他照片中则不然。

例如,

曝光70us、5ms的白炽灯有明显条纹;而10ms曝光的白炽灯看不到条纹,因为正好是一个周期; 11ms曝光的白炽灯有条纹,但不那么明显,因为它相当于一个周期曝光的底部。另外0.1周期的波动叠加在颜色上。

数据分析

为了获得定量结果,需要对照片进行分析。通过在ImageJ中编写几行脚本,很容易得到每行的平均亮度。

通过将每行的亮度绘制为曲线,您可以得到该图。

频闪指数或波动深度定义为亮度相对于平均亮度的波动幅度,波动幅度为峰谷差的一半,即:

波动深度(频闪指数)=(H-L)/(H+L)=(196-160)/(196+160)=10.1%

测量结果

下图是亮度波形。你可以看到:

除松下未来之光(*)、小米Yeelight、护眼台灯外,其他均带有频闪。除手电筒外,所有带频闪的商用光源均具有100Hz 频闪。松下Mirai Light实际上可以看到100Hz的波动,但幅度很小。为了便于整齐放置,不同光源的曲线在Y轴上乘以不同的系数,并不影响结果。

日光灯的曲线有点特殊,可能与电路及其发光原理有关。

护眼台灯的曲线也不同。这是散点图放大后的样子。如果再放大,可以看到它仍然是一条周期性波动曲线,但频率更高了。

将数据保存为PCM,您可以在Audacity 中查看其频谱。峰值位于8379Hz,我们可以将其视为其选通频率。

使用相机定量检测光闪烁

下图是测量结果的总结。主要指标有两个:频闪频率和波动深度(频闪指数)。峰谷值是计算时选择的中间结果;曝光时间是当前测量对应的曝光时间。严格来说,曝光时间越短,结果越准确;曝光时间越长,闪烁指数就会降低。

对测量的若干思考

一致性问题

多次测量时,相机与光源之间的距离会发生变化,曝光时间也可能会发生变化。结果能否保持一致?

做了几次实验。

图中,A1和A2测得的亮度值不同,但最终的波动深度结果是相同的。 A3的曝光时间加长,结果变小了一点,这是符合预期的。 B1是另一盏灯,结果比较接近。这基本上表明测量是可靠的。

曲线不平的问题

在前面的很多图中,可以看到亮度曲线整体并不平坦。这并不是说光线的亮度有低频波动,而是相机和光线不垂直或者有渐晕,会导致光线在平面上分布不均匀。这种波动将反映在每行的平均亮度上。这是很难避免的,但并不影响选通频率和幅度的测量。

因此,在计算波动深度时,我选择了两个相邻的波峰进行平均,并选择了两个波峰之间的波谷。见上图。

至于光强是否真的存在低频波动?首先,理论上50Hz以下不太可能出现波动。实验上,我们可以使用普通的30帧率相机通过采样的方式进行测试,看看是否有低频波动。

采样频率和曝光时间

前面提到过,我使用的相机是线扫描相机,行采样频率为28.57KHz。根据采样定理,它可以检测14.28KHz及以下的频闪。

如果曝光时间为140us,那么频率似乎只能达到1/140us或者7.14KHz。是这样吗?

事实上,只要曝光时间不是频闪周期的整数倍,即使是10.1倍,积分后仍然会有波动,因为每次采样都存在相位差。但这个波动范围会被压平,因此测量的精度会降低。

根据之前对护眼台灯的测量,频闪频率为8379Hz,140us的曝光时间已经超过了频闪周期(119us),所以测得的频闪指数应该太小了。

下图是在Mathematica中制作的模型,用于说明不同曝光时间对测量波动深度的影响。

光源采用标准正弦波。你可以看到:

当曝光时间为光源周期(红、橙)的1/10或1/5时,影响很小。当曝光时间达到光源周期(绿色)的1/2时,测量结果仍然接近实际波动的60%。即使曝光时间超过光源周期,如1.2倍,也能检测到波动,但只有实际值的15%。根据该模型修正护眼台灯的尺寸:

FindMaximum[Sample[x, 140/119 Pi], {x, 0, Pi}] 结果是:10.5712

测量值/实际值=(10.5712 10.5)/0.5=0.1424

修正后的波动深度为:1.2%/0.1424=8.4%

利用该方法,我们可以得到测量精度与曝光时间的关系,如下图:

测量精度与相对曝光时间的关系(横坐标:曝光时间与频闪周期之比)

按帧采样的测量

在灯光下,对着白纸或白墙拍摄视频,然后计算每帧的平均亮度。

在Linux下,您可以简单地使用identify工具来获取帧的平均亮度。识别来自ImageMagick。 shell脚本如下。将输出保存为CSV 以绘制曲线。

ffmpeg -i video.mov %d.jpgfor i in {1.600}do echo -n $i, recognize -verbose $i.jpg | ffmpeg -i video.mov %d.jpgfor i in {1.600} grep 意思|尾-n 1 | awk ‘{print $2}’done 由于频闪周期、采样周期、曝光时间之间不存在倍数关系,采样亮度呈现出非常复杂的“类周期”波动。

由于曝光时间是频闪周期的3.3倍,波动被平滑了很多。由图计算的波动深度为0.51%。之前的测量方法得出的结果是5.3%。

因此,采用低帧率帧采样,只能看到是否有频闪,而无法准确获取频闪频率和波动深度。

结语

频闪光源可以通过逐行扫描相机进行定量检测。关键是要减少曝光时间并保持感光面上的光照均匀。普通全画幅曝光相机由于帧率较低,只能用于检测是否存在频闪,无法准确测量频闪频率和幅度。

测量结果让我大吃一惊:松下的LED和三基色荧光灯甚至比不上普通的白炽灯。小米Yeelight的数据非常好。

用户评论

使用相机定量检测光闪烁
妄灸

这个想法真的太酷了!一直对灯光和颜色的关系很感兴趣,用相机测光频率可以拍出一些意想不到的效果吧?希望这篇文章能详细介绍一下操作步骤,我要试一试!

    有12位网友表示赞同!

使用相机定量检测光闪烁
空巷

我感觉这是一个很有潜力的研究方向啊!之前没想过可以用相机来定量检测光的频闪,这种方法比传统的测试仪器更加直观、便捷。尤其是在艺术作品的创作中,灯光频率的变化能带来不同的视觉效果,这真的太棒了!

    有19位网友表示赞同!

使用相机定量检测光闪烁
青衫故人

说实话,虽然我对摄影感兴趣,但对光谱和物理原理不太熟悉。这篇博文能不能简单解释一下光的频闪的概念呢?以及这种方法的准确度如何,是不是有比较大的误差?

    有10位网友表示赞同!

使用相机定量检测光闪烁
﹎℡默默的爱

我从事室内设计行业,经常需要调整灯光效果来营造特定的氛围。用相机定量检测灯光的频闪听起来很有用!希望文章能分享一些实际应用案例,例如怎样利用频闪来突出某个区域,或者创建一种特定感觉的照明环境

    有16位网友表示赞同!

使用相机定量检测光闪烁
箜明

我觉得这个研究方向比较窄,可能更适合于实验室的环境使用。对于普通用户来说,用相机定量检测灯光的频闪似乎没有太大实用价值吧?

    有6位网友表示赞同!

使用相机定量检测光闪烁
■□丶一切都无所谓

这种方法能否应用到自然光源上呢?比如太阳光的频率也会改变吗?我感觉这可能会涉及到很多复杂的物理现象…

    有12位网友表示赞同!

使用相机定量检测光闪烁
作业是老师的私生子

我比较好奇,作者是怎么用相机来实现这个检测的?是通过某个专门软件进行分析吗?希望文章能详细说明一下技术原理!

    有17位网友表示赞同!

使用相机定量检测光闪烁
关于道别

我对光学和摄影方面很有研究兴趣,一直想要探索一些新的实验方法。这篇博文的内容引起了我的启发,感觉可以用它作为未来的研究方向,去探索灯光在艺术创作中的更多应用可能性。

    有18位网友表示赞同!

使用相机定量检测光闪烁
陌上花

用相机定量检测灯光的频闪听起来很复杂,我担心我操作不好会误判断结果。有没有什么简单易用的工具或者软件可以帮助我们实现这个目标呢?

    有7位网友表示赞同!

使用相机定量检测光闪烁
我怕疼别碰我伤口

我觉得这种方法的好处在于能够直观地展示灯光频率的变化,可以让我们在观察和分析的过程中更全面地了解光线本身的特性。 不过,文章里能否多谈一下测量数据的解读和应用场景会更好些?

    有17位网友表示赞同!

使用相机定量检测光闪烁
毒舌妖后

我一直想学习一些摄影技巧,这个方法听起来很有意思!希望能看到更多关于相机设置以及后期处理方面的讲解,这样我才能更好地理解和实践。

    有7位网友表示赞同!

使用相机定量检测光闪烁
大王派我来巡山!

用相机定量检测灯光的频闪确实是个新颖的想法,但也需要考虑很多因素,比如照明的类别、环境光线等等。我希望文章能够提供一些更全面的分析和建议,帮助我们更好地应用这种方法

    有6位网友表示赞同!

使用相机定量检测光闪烁
念初

我觉得这个方法在某些特定的领域可能会发挥作用,比如:灯光工程、电影制作等。但是对于普通用户来说,可能没有太大的实际意义 。毕竟我们在日常生活中很少去关注光的频闪频率。

    有10位网友表示赞同!

使用相机定量检测光闪烁
罪歌

这款工具真的非常有用,能够帮助我在设计灯光的过程中更精准地掌握灯光频率,创造出更加精致的效果,节省很多时间和精力!

    有8位网友表示赞同!

使用相机定量检测光闪烁
疯人疯语疯人愿

用相机定量检测灯光的频闪真是太棒了!它像是一个新的视角窗口,能让我更好地理解和操控光线。期待看到更多关于它的研究成果和应用案例!

    有19位网友表示赞同!

使用相机定量检测光闪烁
一个人的荒凉

这个方法真的很酷!感觉可以拍出很有科技感的照片。也许我可以尝试用它来创作一些实验性质的作品,看看能不能做出一些独特的视觉效果…

    有5位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/129957.html

(0)
小su's avatar小su
上一篇 2024年9月3日 下午4:16
下一篇 2024年9月3日 下午4:17

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注