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

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

背景技术

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

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

相关文章

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和