一种结合白平衡统计信息和曝光信息的软光敏算法专利学习(专利一)

本文主要是介绍一种结合白平衡统计信息和曝光信息的软光敏算法专利学习(专利一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景技术

        随着科技的发展,对视频监控设备提出了越来越高的要求。大部分视频监控设备

        都需要能够全天候的监控。ICR的中文名称为双滤光片切换器,是用于让滤光片白天切换到红外截止滤光片和晚上切换到全光谱滤光片的监控设备配件。白天的时候,人眼看不到红外光,但是摄像头的传感器能够感知到红外光,为了让图像的色彩更加符合人眼的感受,需要加一个红外截止滤光片滤除红外光。而夜晚的场景,由于光线不足,需要加灯光提高环境亮度。为了避免对环境造成灯光干扰,或者隐秘拍摄等原因,大部分是选择加一个红外灯,

        此时就需要用全透的白玻璃即全光谱滤光片,让摄像头的传感器能够感知到红外光。

        目前监控设备实现这种日夜模式的切换,主要有硬件和软件两种方案。

1、硬件方案

采用只能感知到可见光,不能感知到红外光的光敏电阻或者光感芯片,对环境的可见光进行感知。

此方案存在以下问题:

(a)成本高:需要针对光敏电阻或者光感芯片进行开模,还需要配套专门的电路,硬件成本高。光敏电阻的开口都需要有配套的设计,只对正前方的很小的角度光线比较敏感;

(b)识别不灵敏:由于现在的图像传感器感光性能越来越好,已经超出了光敏电阻或者光感芯片的感知范围,从而导致摄像头拍出来的图像效果还比较好的时候,光敏值已经为0了,无法继续进行日夜模式的判断;

(c)功耗高,需要有专门的电路设计,会影响到整机的功耗。

2、软件方案

(a)通过图像传感器的增益进行判断,容易出现反复切换的问题;

(b)通过图像亮度动态的确定阈值,如果近距离出现红外反射物,会导致环境亮度很高才会切回白天模式,不灵敏;

(c)通过整张画面的RGB比值来确定是否红外光占主导,对复杂环境的判断不准确,如局部出现比较亮的灯的时候容易误判。

        通过现有技术中的软件方式实现容易出现日夜模式来回切换问题的主要原因如下:

        在夜模式的情况下,图像传感器不仅仅能够感知到可见光,还可以感知到红外光。

        在图像亮度保持一定的情况下,图像传感器的增益越高,环境越暗。

        仅仅通过图像传感器的增益进行判断的时候,只能判断出图像传感器接受到的光线强度,并不能区分出到底是红外光太亮了还是可见光太亮了。当处于比较狭小的黑暗空间内,当设备在日模式时,没有红外灯,环境很黑,增益很高,高于日模式切换夜模式的阈值,会切换到夜模式。但当设备切换到夜模式后,开启红外灯,反射回来的红外灯亮度很高,图像传感器感知到的亮度很高,导致增益低于夜模式切换日模式的阈值,又会切到日模式,这样就会出现日夜模式反复切换的问题。

基本原理

        进入镜头成像的光包括可见光和红外光,其中,可见光为人眼所感知的部分,其波段通常在400nm-760nm左右,红外光的波长介于760-1000nm之间的电磁波。如下图所示,当光波波长在400nm-760nm区域时,即在可见光谱区域时,R、G、B三基色分量的光谱响应几乎无任何规律,当光波波长逐渐增大靠近760nm的时候,R、G、B三基色分量的光谱响应基本趋同,当光波波长在800nm-1000nm,也即红外光谱区域,R、G、B三基色分量的光谱响应几乎一致。

        基于此理论基础,通过获取黑白图像白平衡统计信息以及当前的亮度信息设置夜切白的阈值。即黑白图像计算白平衡统计信息计算红外光贡献率,当红外光贡献率小于预设红外光贡献率阈值时,再通过获取当前黑白画面曝光统计信息,基于曝光统计信息计算当前画面的照度,当画面照度大于预设值阈值时,将黑白夜市切换到才是模式。

        其基本流程图如下:

白切夜

夜切白

具体实现:

 其中所说的图3,即对应的上述sensor的QE曲线。

讨论:

       对于红外光贡献率计算公式,不同色温下可见光的G/R、G/B比值肯定不一样,而且不同色温下同画面同等亮度情况下,其曝光参数也会不一样。如果按照以上公式计算,那是否能通过一个公式计算各个色温下的红外光贡献量,是否在不同色温下都需要确定一个对应的红外光贡献率函数呢?

     此外,专利当中只要满足相应条件就切换到相应模式。没有考虑到环境突变或者特定场景下可能频繁切换的日夜模式的情况。为此,当满足切换条件的时候,应该连续检测N帧,如果N帧都满足相应条件,则进行相应的模式切换。

这篇关于一种结合白平衡统计信息和曝光信息的软光敏算法专利学习(专利一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/291162

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n