用相机定量检测灯光的频闪

用相机定量检测灯光的频闪,第1张

很多人都知道用手机可以粗略地检测频闪。但频闪到底有多严重呢?手机检测不到的是否真的就没有频闪呢?本文将用相机做出定量的分析。

最近买了个小米Yeelight吸顶灯,用来替换家里坏掉的灯。用手机给几个吸顶灯拍了下照,本想看看光源的均匀程度。

拍照的时候发现有的灯是有闪烁的。于是想系统地测量一下它们的频闪。正好手头有逐行扫描的相机,可以干这事。

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

市电的波形是正弦波,而其功率可以简化为正弦波的平方。可以看到频率是2倍关系。

所以,对于50Hz的市电,白炽灯的频闪就是100Hz。

而对于其它灯具,可能存在交直流变换,恒流驱动,PWM调光,不管怎样,只要其中存在一定的低频交流成份,就会有频闪。

对于100Hz的频闪,人的肉眼一般是感觉不到的。假设我们用一个每秒能拍1000张照片的相机,固定曝光量(光圈/快门/ISO),对着灯光下白纸拍照,这些照片的明暗程度会呈现出周期性的变化。我们可以通过这些照片分析出亮度随时间的变化。

然而我并没有这么快的相机。但我有一个逐行扫描的相机,它可以10ms“拍”2000行(其实只是一张照片),我们分析每行的亮度变化,可以干同样的事。

逐行扫描的相机(图像传感器CCD或CMOS)其实是相对低端的,有时候也叫作卷帘快门(它的反面是全局快门)。其实它们都是电子开关。卷帘快门可类比于卷帘式的窗帘。下面是原理示意图。

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

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

“每行的时间差”对这个测量很重要。我用的这个相机,这个参数是35us。这就是说,按行采样的采样率是1/35us,即2857KHz。这个值比每秒1000张高多了。

这种测量方法有一个重要的前提:在同一时刻下,场景中的每一行亮度是相等的。否则,如果拍摄出来的照片每行亮度不同,这到底是场景中亮度本来就不同,还是光源亮度的随时间波动所致呢?简言之,想测时间上的波动,就不要有空间上的波动。

对了达到这个目的,我们需要让光源严格与白纸垂直,然后,相机也要与白纸垂直。但这比较难操作。于是我使用了一种邪门的办法:让相机直接对着光源,但不用镜头。这样“底片”上不会对光源的形状成像,而只是一团均匀的白光(类似于镜头未对上焦时的虚化)。

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

测量中使用的节能灯、日光灯已经比较旧了,护眼台灯是杂牌。

测量的原始数据就是一张张的照片。有些照片可以明显地看到滚动的条纹,有些则不明显。

比如,

要得到量化的结果,需要对照片进行分析。在ImageJ里写几行脚本,很容易得到每行的平均亮度。

把每行的亮度画成曲线,就得到了这个图。

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

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

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

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

护眼台灯的曲线也不一样,散点图放大后是这样,进一步放大,可以看到还是周期波动的曲线,只是频率更高。

将数据存为PCM,在Audacity里可以看到其频谱。峰值在8379Hz,我们可以认为这是其频闪频率。

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

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

做了几次试验。

图中A1和A2测得的亮度值不同,但最后波动深度的结果是一样的。A3的曝光时间加长,结果变小一点,这是符合预期的。B1是另一根灯管,结果也比较接近。这基本说明测量是可信的。

前面的很多图中,可以看到亮度曲线整体上并不是平的。这并不是说明光的亮度有低频波动,而是因为相机和灯光不垂直或有暗角,会导致光在平面上的分布不均匀,每行的平均亮度里会反映出这种波动。这个很难避免,但不影响对频闪频率和波幅的测量。

所以,在计算波动深度时,我选取了两个相邻的波峰做平均,选两个波峰中间的波谷。参见上图。

至于光强是否真的有低频波动?首先理论上不大可能有50Hz以下的波动。实验上,我们可以用普通的30帧率的相机,按帧取样做测试,看有没有低频波动。

前文说过,我使用的相机是行扫描的相机,行采样频率是2857KHz。根据采样定理,它可以检测出1428KHz及以下的频闪。

如果曝光时间是140us,这看起来频率只能到1/140us即714KHz。是这样吗?

实际上,只要曝光时间不是频闪周期的整数倍,即使101倍,通过积分后,还是会有波动,因为每次采样有相位差。但这个波动幅度会被拉平,所以测量的准确性会降低。

前面护眼台灯的测量,频闪频率是8379Hz,而曝光时间140us已经超过了频闪周期(119us),所以测得的频闪指数应该会偏小。

下图是在Mathematica中做的一个模型,用来说明不同曝光时间对测得的波动深度的影响。

光源使用的是标准正弦波。可以看到:

根据这个模型修正护眼台灯的测量结果:

FindMaximum[Sample[x, 140/119 Pi], {x, 0, Pi}]

结果是:105712

测量值/实际值 = (105712 - 105) / 05 = 01424

修正后的波动深度为: 12% / 01424 = 84%

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

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

shell脚本如下,将输出存为CSV,即可画出曲线。

由于频闪周期、采样周期、曝光时间三者没有任何倍数关系,采样亮度呈现出非常复杂的“类周期”波动。

由于曝光时间是频闪周期的33倍,波动已经平滑了很多。从图中计算出波动深度是051%。而前面的测量方法得出的结果是53%。

所以,用低帧率的帧采样,只能看出有无频闪,并不能准确得到频闪频率和波动深度。

通过逐行扫描的相机可以对光源的频闪进行定量检测,要点在于减少曝光时间,保持感光面的光照均匀。普通的整帧曝光的相机,由于帧率不高,仅能用来检测有无频闪,并不能准确测量出频闪频率和波幅。

测量的结果令我颇意外:松下的LED和三基色荧光灯连普通白炽灯都比不上。而小米Yeelight的数据非常好。

当然,这个对比有不公平的地方,松下的灯是旧的(三四年2000小时左右的使用时间),而小米的灯是新的。不过松下未来光也是同样旧的(使用时间甚至更长),但表现还不错。这说明普通产品的质量还是有差距。小米的Yeelight则需要时间的检验,看几年后指标如何。

这些测量结果仅反映我家的灯具,并不能代表市面上所有的产品。本文主要还是探讨测量方法。

LED频闪需要用专业的频闪设备进行测试,如只是简单检测可以用手机相机对着灯看,频闪低的灯在手机画面下和人眼睛看到的一样,如果看到屏幕里面的灯闪闪的,那就说明灯频闪较高,在这种灯光环境下对视力有影响!

LED频闪测试没有一定的测试标准,在不同的认证中对于频闪的限值要求也不一样,例如(能源之星,CEC,DLC,ERP)

护眼灯有很大一部分护眼原因是因为无频闪,那么自己购买了护眼灯以后怎么才知道是不是无频闪呢,今天眼睛保卫站就带给打击测试护眼灯频闪的方法,希望对大家选购护眼灯有所帮助。当然,测试护眼灯频闪的方法也是有很多重的,同时随着新技术的发展护眼灯的更新也是很快的,测试护眼灯频闪的方法也是多种多样,在这里只是给大家一种参考方法。

1

第一步,用带照相或者摄像功能的手机对准要测试的灯,此时你会发现普通的灯有明显的闪烁现象。

2第二步,用手机不停的对着灯光做旋转样子,此时你会看到灯光不同的变化,一般的会随着旋转的速度不同而变化,如果出现稳定的图案或者色彩,说明这个灯没有频闪或者很少得频闪。如果图案变化幅度较大,或者色彩比较艳丽说明这个灯频闪严重。这个方面如果有LED护眼灯对比会比较明显。

以上有关护眼灯频闪的简单实验就介绍到这里,希望对大家有所帮助。

以上就是关于用相机定量检测灯光的频闪全部的内容,包括:用相机定量检测灯光的频闪、如何检测LED灯频闪、怎么测试护眼灯有没有频闪等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:聚客百科

原文地址: http://juke.outofmemory.cn/life/3796863.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存