记录--IR_cut切换模块流程

api接口:/API/ChannelConfig/ImageControl/Set

               /API/ChannelConfig/ImageControl/range

               /API/ChannelConfig/ImageControl/Get

IR_cut步骤(已自动模式为例):

1、一直跑IRCutService线程,检查环境光敏值

2、光敏值达到切换的条件

3、控制相关led的打开或关闭

4、图像在彩色(白天)和灰度(黑夜)之间转换

5、完成一次切换

简单说一下IR_cut日夜切换模块,就是日夜模式里面用于切换日夜的红外功能,一般是通过ipc光敏电阻感应环境光照亮度切换的,用于ipc白天彩色和夜间黑白的转换,

ipc实时性的转换图像模式。web端控制图像模式其实是调用/API/ChannelConfig/ImageControl/这条api设置参数,在支持全彩的ipc中,ipc的图像设置有全彩模式,日夜切换模式,计划表模式

在全彩模式下,ipc夜间是用白光灯补光,保证ipc全彩工作在彩色图像,全彩模式的白光配置有三种,就是自动,手动和计划表补光,全彩模式下ipc一般默认自动,手动可以在web端选择ipc白光的亮度,0到100的区间选择,计划表模式可以设置开始ipc白光补光的时间段,现在我们的ipc很多都是两组灯,常用pwm控制灯亮通过环境亮度补光。

通过/API/ChannelConfig/ImageControl/Set的api接口设置

ipc日夜切换会一直开启一个线程IRCutService,与主线程分离开,在线程池中跑,用于日夜模式中的IR_cut切换;日夜切换模块,指的就是红外切换,ipc拍摄的图像在彩色和灰白之间切换的过程,日夜模式中的日夜切换模块在web端又分出来五个模式,分别是自动、白天、黑夜、视频控制、触发控制、时间控制、日夜切换模块主要应用到的模式就是默认的自动模式,用于ipc白转黑和黑转白,在自动切换下,ipc会依靠光敏电阻判断环境光亮值,作为ipc切换的依据,采集ipc光敏值期间,在日夜模式下,ipc会关闭白光灯补光功能,把白光和红蓝光等关闭,防止ipc在光敏采集过程中误判影响日夜切换,暖光灯常亮或者红蓝灯闪烁期间,红外灯会开启不了,因为光敏值会因为灯光的原因保持比较高的状态,所以红外切换需要提前关闭,接着打开或关闭红外拍摄相关的led,最后转变图像灰度,比如白转黑,图像会从彩色转为灰白,这样就完成了一次切换。除了光敏值作为切换判断,切换夜视还可以根据图像增益判断,根据图像的色度、亮度、对比度、饱和度、和锐度信息判断。

其他的白天,黑夜、视频控制、触发控制和计划表控制,都是在web通过接口设置参数控制。完成ipc彩色和灰白图像的切换。

IR_cut模式只有在日夜切换中才有。

你可能感兴趣的:(c++,单片机,json)