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

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

背景技术

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

        都需要能够全天候的监控。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

相关文章

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

Python结合requests和Cheerio处理网页内容的操作步骤

《Python结合requests和Cheerio处理网页内容的操作步骤》Python因其简洁明了的语法和强大的库支持,成为了编写爬虫程序的首选语言之一,requests库是Python中用于发送HT... 目录一、前言二、环境搭建三、requests库的基本使用四、Cheerio库的基本使用五、结合req