大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
目录
1、基本概念
-
flicker
交流电网中的传输的能量并不是稳定不变的,而是随着一个固定频率变化的,这个频率一般被称为工频,例如中国是50Hz,美国是60Hz。工频由电力系统决定。 工频的带来的这种能量变化称为flicker。
下面以50HZ为例进行解释,交流电以1/50s,即20ms的周期进行变化,其变化规律如图所示:
而对于能量来说,并没有正负之分,因此能量的周期是1/100s,即10ms。
因此,普通的以交流电为电源的白炽灯的亮度实际上在一直在以10ms为周期随着交流电变化而发生变化,只不过人眼感知不到画面亮度的变化罢了。
-
banding
sensor捕捉到flicker而在图像上形成的条带的现象称为banding现象,通常简称banding(根本原因就是sensor 每一行像素点,所接收到的能量不同导致的),如视频所示,画面会出现频闪,感觉有水波纹一样的纹路在跳变;具体来说可能会有如下表现(这些表现并不一定会同时出现):
— 同一帧的不同行的亮度各不相同,存在亮暗变化的条纹,如图所示;
— 不同帧的相同行的亮度不相同,出现视频中水波纹一样的纹路跳变;
— 前后帧的整体亮度存在差异,画面亮度出现明显的亮暗变化
2、30fps, 1帧内banding过程演示
-
如下GIF图像演示的是在工频的环境下,sensor 一帧内每一行曝光的亮度的变化。分别有10ms、8ms、12ms三种曝光。
— 10ms曝光状态下,面积P始终是不变的( 因为曝光时间是10ms,也就是每行的曝光时间也是10ms,一个波峰循环就是曝光1行,所以每行所获得的能量是相同的)。
— 8ms和12ms曝光状态下,面积P1和P2都会有规律的产生变化( 因为曝光时间是8ms、12ms,积分面积不同,导致每行所获得的能量不同)。
曝光是sensor的每一个像素的能量积累,这里就可以使用面积来表示,面积是由积分计算所得。8ms 和12ms的曝光帧会出现banding现象;
3、30fps, 帧与帧之间banding过程演示
-
如下GIF图像演示的是在工频的环境下 sensor 帧与帧之间每一行曝光的亮度变化。
— 30fps,帧与帧之间的的时间间隔是33ms。
不同帧之间,8ms 曝光状态下,面积P、P1和P2都会有规律的产生变化(因为不同帧相同行,曝光的起始位置不同,导致积分面积不同,所获得的能量不同) ,则出现带水波纹一样的纹路在跳变;
4、25fps, 帧与帧之间banding过程演示
-
如下GIF图像演示的是在工频的环境下 sensor 帧与帧之间每一行曝光的亮度变化。
— 25fps,帧与帧之间的的时间间隔是40ms。
— 每一帧的帧内亮度变化是相同(不同帧之间,相同行,曝光起始的周期点相同)。
在50Hz工频下,25fps规避了帧与帧之间在视频模式下不停跳动的banding现象,而呈现的是一个稳定的banding现象,所以,25fps并不能消除banding。
5、总结
-
消除banding的唯一方法是:在50Hz工频下曝光时间为10ms的整数倍;在60Hz工频下曝光时间为8.333ms的整数倍。
-
不管是 30fps 还是 25fps 都不会影响一帧帧内的曝光行为。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182328.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...