关于手机中Camera Sensor Flicker产生原因和解决方法

Camera flicker相信在一部分中低端机里可以看到的现象(拍灯最为明显)。

在了解Camera flicker前,先了解一些词汇。

快门:快门是照相机用来控制感光片有效曝光时间的机构。是照相机的一个重要组成部分,它的结构、形式及功能是衡量照相机档次的一个重要因素。

关于曝光,分为Global Shutter和Rolling Shutter。Global Shutter即整幅场景在同一时间曝光实现的,Sensor所有像素点同时收集光线,同时曝光。在曝光开始的时候,sensor开始收集光线;曝光结束时,光线收集电路被切断。Sensor值读出来即为一幅画面。

Rolling Shutter即通过逐行曝光的方式实现的。在曝光开始的时候,Sensor逐行扫描进行曝光,直至所有像素点均被曝光。同一帧画面不同行下,各行存在着很多像素点。行与行之间的像素的曝光时长是一致的。然而行与行之间的像素曝光的开始时间是不相同的。所以不同行在相同的曝光时长下,接受的能量也就不一定相同,进而形成了flicker

以220V 50HZ的交流电信号为例,信号周期为20ms,然而功率周期为10ms,灯的亮度随着功率的变化而变化,即1秒钟灯会发生100次闪烁。因人眼对光强变化有一定的迟滞和适应性,所以无法观察到光源的亮度变化,但依然会增加人眼的疲劳程度。然而对于Camera Sensor而言,没有人眼的迟滞和适应过程,所以对光源亮度的变化是比较敏感的。

(图片来自网络)

上图为在工频的环境下,sensor 一帧内每一行曝光的亮度的变化。

分别有10ms、8ms、12ms三种曝光时长。

曝光是sensor的每一个像素的能量积累,这里使用面积表示,面积是由积分计算所得。可以看出只有当曝光时长为功率周期10ms时,前后的面积是稳定不变的,即所获得的能量始终不变,即最终表现的亮度始终如一。

所以为避免flicker,最好的即是让曝光时长为光能量周期的整数倍时间

相关推荐
legendary_16333 分钟前
Type-C手机快充与音频/数据传输的完美融合:多功能转接器解析
c语言·智能手机·音视频
我重来不说话3 小时前
Android 自动化工作流平台——群控手机
android·智能手机·自动化·工作流·群控
꯭爿꯭巎꯭1 天前
3Dmark安卓下载(3Dmark手机版下载)
智能手机
程序猿追1 天前
在 HarmonyOS 手机上从零实现一个手绘涂鸦板——Canvas 绘制原理与触摸交互实践
智能手机·交互·harmonyos
liurendonews2 天前
刘韧微积分笔记之四:手机里的微积分
笔记·智能手机
不做超级小白2 天前
从零到可用:在手机上用 Termux + Git + Obsidian 打造稳定同步环境(踩坑全记录)
git·智能手机
天人合一peng2 天前
Unity 3D 电脑端和手机端都实现画线与清除功能
3d·unity·智能手机
limingade2 天前
如何在浏览器网页中远程对手机进行ADB控制
adb·智能手机·远程adb操控手机·远程adb·网页上控制手机的adb
Digitally3 天前
4 种智能方案:传音手机传文件到 Mac
智能手机
Digitally3 天前
如何备份和恢复中兴手机?4 种可靠方法
智能手机