当前位置: 首页 > news >正文

相机光学(二十四)——CRA角度

CRA角度

  • 0.参考资料
  • 1.什么是CRA角度
  • 2.为什么 CRA 会导致luma shading
  • 3.为什么 CRA 会导致color shading
  • 4.CRA相差过大的具体表现
  • 5.CRA Matching
  • 6.怎样选择sensor的CRA

0.参考资料

  1.芯片CRA角度与镜头的匹配关系(一)
  2.芯片CRA角度与镜头选型的匹配关系(二)
  3.镜头与 SENSOR的主光线角度(CRA)不匹配对图像质量的影响
  4.转:什么是 CRA ?
  5.【笔记】CRA

1.什么是CRA角度

  CRA 是 Chief Ray Angle 的缩写,意思是主光角。镜头的传感器一侧,可以聚焦到像素上的光线的最大角度被定义为一个参数,称为主光角(CRA)。此角度处的像素响应降低为零度角像素响应(此时,此像素是垂直于光线的)的 80%。
  我们在挑选镜头时会有一个 CRA 的参数,在选择 sensor 时同样有一个 CRA 的参数 (sensor 像素点上有个微透镜,这也是为什么有sensor CRA的原因),选型时镜头和 sensor 的 CRA 参数要尽可能接近(一般不超过 3度)。否则当 lens CRA 大于 Sensor CRA 会出现明显的 color shading,当 lens CAR 小于 Sensor CRA 会出现 luma shading,建议是选择 lens CRA 小于 sensor CRA 的配置,因为luma shading 较 color shading 后端 ISP 更容易处理一些的。

2.为什么 CRA 会导致luma shading

  当 lens CRA 小于 sensor CRA 时,从定义来理解就是,光线从镜头入射到像素上的最大光线角度,要比光线经过 sensor micro lens入射到像素上的最大光线角度要小,但成像光路是 镜头 —> sensor micro lens —>像素,所以当满足镜头 CRA 入射的光线(也就是光线入射角度的范围是0-CRA,此时是最大的入射光线角度),经过 sensor micro lens 时,micro lens 的 CRA 要更大,这就导致sensor 边缘的像素受光损失,就会出现暗角。
  Luma Shading产生原因有两个:镜头能量衰减 、 Sensor CRA > Lens CRA

  • 原因一:镜头能量衰减.
      蓝色和绿色用相同的数量线条表示能量,中心位置的蓝色几乎所有能量都能达到最右侧的的成像单元,但是边缘的绿色由于有一定角度射入,经过镜头的折射,有一部分光(最上方的几条绿色线条)达到不了Pixel,因此成像单元中心的能量就会比边缘的大,表现为亮度向边缘衰减变暗。通常镜头的衰减符合: f(θ)=cos4(θ)。θ表示的是入射光线和法线的夹角。
  • 原因二:Sensor CRA > Lens CRA
    在这里插入图片描述
    当Sensor CRA > Lens CRA时,光线从Micro Lens到感光区的最大光线角度 > 光线镜头入射到Pixel的最大光线角度,成像光路:Lens —> sensor Micro Lens —> Pixel,当满足Lens CRA入射光线经过sensor Micro Lens时,Micro Lens CRA更大,导致sensor边缘的Pixel接收到的光线能量损失,表现为图像四周出现暗角。

3.为什么 CRA 会导致color shading

  产生原因为:Lens CRA > Sensor CRA
  当光线从Lens经过并且入射到Micro Lens中,由于Lens CRA大于Micro Lens,会导致原本经过R-Filter的光线进入了G-Filter下方的Pixel中,造成Pixel的空间串扰,并出现Color Shading
在这里插入图片描述
  如上图是 sensor 的内部结构,sensor 上 micro lens 的作用就是聚焦光线,把入射光线引入到正确的像素点上(可以看到当没有 micro lens 时光线垂直入射,边缘的光线是照射不到像素上的),当入射光线的CRA角度超过sensor 的CRA时,就会导致经过R-filter的光线,照到了G像素上,造成像素之前的串扰,出现color shading;
在这里插入图片描述
  如上图所示,当光线垂直入射(也就是CRA为0时),光线可以正确的入射到像素上,但 Lens 的 CRA 很难是 0,视场范围越大的镜头,其 CRA 值就越大,sensor 上的微镜头要与镜头做匹配,其实就是通过移动微镜头将大角度的入射光线引导到正确的像素上,才能保证图像正常(如图c所示)。所以 sensor micro lens 能纠正的最大光路角度就是sensor CRA,但当 lens CRA 大于 sensor CRA 时,则 sensor 就无法通过位移 micro lens,矫正全部的大角度入射光线到正确的像素,就会导致 color shading 的出现 。

4.CRA相差过大的具体表现

  镜头的CRA与Image sensor的CRA相差过大会出现如下图偏色。
在这里插入图片描述
  镜头的CRA与Image sensor的CRA匹配则图像正常,如下图:
在这里插入图片描述

5.CRA Matching

  在光学系统中,sensor上的光学接收效率不仅与CRA有关,还与Sensor的Micro lens开口布局有关。因此在做Lens涉及时,CRA要尽量符合Sensor厂家提供的CRA参考值,提高功能接收效率。
通常Lens CRA要小于sensor的CRA,允许有3°以内的偏差。这是因为:

  • 镜头CRA太过小于Sensor的CRA时,会出现四角偏暗(受光不足),光线无法到达sensor边缘,即Lens Shading;
  • 镜头CRA太过大于Sensor的CRA时,光线会折射到临近的pixel上,导致pixel间出现串扰,即Color
    shading,且在图像四周表现更明显; 建议优先保证Color Shading, 因为Lens Shading比Color
    Shading容易调试;

  不匹配导致整个图像的颜色不平衡产生串扰,从而导致信噪比(SNR)的降低;因为CCM需要增加数字增益来补偿光电二极管中的信号损失。
在这里插入图片描述

6.怎样选择sensor的CRA

  1. 广角镜头:这时一般lens的CRA比较大,需要选择CRA大于25度的sensor或者BSI的Sensor;一般用于手机、安防、玩具、网络摄像头等;
  2. 超长焦镜头:这时一般lens的CRA比较小,需要选择CRA为0度的sensor;一般用于安防、机器视觉等。
  3. 变焦镜头:这时Lens的CRA是变化的,一般需要根据实际应用选择,最好采用大Pixel,BSI的sensor;一般用于安防等。

相关文章:

相机光学(二十四)——CRA角度

CRA角度 0.参考资料1.什么是CRA角度2.为什么 CRA 会导致luma shading3.为什么 CRA 会导致color shading4.CRA相差过大的具体表现5.CRA Matching6.怎样选择sensor的CRA 0.参考资料 1.芯片CRA角度与镜头的匹配关系(一)   2.芯片CRA角度与镜头选型的匹配关…...

python函数和c的区别有哪些

Python有很多内置函数(build in function),不需要写头文件,Python还有很多强大的模块,需要时导入便可。C语言在这一点上远不及Python,大多时候都需要自己手动实现。 C语言中的函数,有着严格的顺…...

速看!这主食冻干评测极可能被商家恶意举报~PR、希喂和SC真实测评

我是一名专注于宠物健康的营养师,日常大部分时间都在与猫咪和狗狗为伴,对它们入店时的身体状况往往能迅速做出初步判断。当前,多数家养猫咪面临的肥胖和肝损伤问题尤为突出,尽管医疗干预能缓解病情,但要从根本上解决还…...

股票数据分析(K线图、均值图、MACD图、RSI图)--股票日数据

数据 数据是上证指数日行情数据,股票代码000002.sz,原始数据shdata示例如下: 读取数据: import numpy as np import pandas as pd import mplfinance as mpf import matplotlib.pyplot as plt from datetime import datetime imp…...

重写equals()方法为什么同时要重写hashcode()

equals()方法 equals()方法是Object类中的一个方法,在Object类中,equals等同于。 在不同的类中,往往会对equals()按需求进行重写。重写的目的都是:用于比较两个对象是否 "相等"。如果两个对象的内容相同,那…...

安全及应用(更新)

一、账号安全 1.1系统帐号清理 #查看/sbin/nologin结尾的文件并统计 [rootrootlocalhost ~]# grep /sbin/nologin$ /etc/passwd |wc -l 40#查看apache登录的shell [rootrootlocalhost ~]# grep apache /etc/passwd apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin#改变…...

Hadoop权威指南-读书笔记-03-Hadoop分布式文件系统

Hadoop权威指南-读书笔记 记录一下读这本书的时候觉得有意思或者重要的点~ 还是老样子~挑重点记录哈😁有兴趣的小伙伴可以去看看原著😊 第三章 Hadoop分布式文件系统 当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分…...

Rust入门实战 编写Minecraft启动器#2建立资源模型

首发于Enaium的个人博客 我们需要声明几个结构体来存储游戏的资源信息,之后我们需要将json文件解析成这几个结构体,所以我们需要添加serde依赖。 serde { version "1.0", features ["derive"] }资源相关asset.rs use serde::De…...

小白学C++(第一天)基础入门

温馨提醒:本篇文章,请各位c基础不行的童鞋不要贸然观看 C的第一个程序 第一个关键字namespace namespace 是定义空间的名字的关键字,使用格式格式如下: namespace 空间名 { } 其中{ }内的命名空间的成员,可以定义…...

谷歌正在试行人脸识别办公室安全系统

内容提要: 🧿据美国消费者新闻与商业频道 CNBC 获悉,谷歌正在为其企业园区安全测试面部追踪技术。 🧿测试最初在华盛顿州柯克兰的一间办公室进行。 🧿一份内部文件称,谷歌的安全和弹性服务 (GSRS) 团队将…...

【CSS01】CSS概述,使用样式的必要性,CSS语法及选择器

文章目录 一、什么是样式二、使用样式的必要性三、使用样式的几种方式四、CSS基本语法:五、CSS的注释六、CSS选择器——重点相关单词 一、什么是样式 概念: Cascade [kˈskeɪd] Style Sheet [ʃiːt] 级联样式单/表,层叠样式表 CSS有化腐…...

PostgreSQL的pg_bulkload工具

PostgreSQL的pg_bulkload工具 pg_bulkload 是一个针对 PostgreSQL 提供高性能批量数据加载的工具。相较于内置的 COPY 命令,pg_bulkload 更加灵活并且在许多情况下性能更高。它支持数据的强制加载、数据过滤、数据转换以及错误处理等多种功能,非常适合需…...

【Java伴学笔记】Day-01 命令行|环境|编译解释运行|Java的相关分支|Java的特性|字面量

一、关于命令行 图形化界面的缺点 需要加载图片等一系列资源 效率较低 命令行 CMDMicrosoft Learn-CMDWindows CMD常用命令大全(值得收藏) 二、环境 什么是JDK JDK是Java Development Kit的缩写,意为Java开发工具包。它是一个用于开发Java应用…...

如何使用Vue3创建在线三维模型展示?

本文由ScriptEcho平台提供技术支持 项目地址:传送门 代码相关的技术博客 代码应用场景介绍 本段代码使用 RoughJS 库在 HTML5 Canvas 上创建了手绘风格的图像,展示了 RoughJS 库的强大功能,可用于创建具有有机手绘外观的图形。 代码基本…...

使用ndoe实现自动化完成增删改查接口

使用ndoe实现自动化完成增删改查接口 最近工作内容比较繁琐,手里需要开发的项目需求比较多,常常在多个项目之间来回切换,有时候某些分支都不知道自己开发了什么、做了哪些需求, 使用手写笔记的方式去记录分支到头来也是眼花缭乱&a…...

排序 -- 手撕归并排序(递归和非递归写法)

一、基本思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有…...

防火墙基础及登录(华为)

目录 防火墙概述防火墙发展进程包过滤防火墙代理防火墙状态检测防火墙UTM下一代防火墙(NGFW) 防火墙分类按物理特性划分软件防火墙硬件防火墙 按性能划分百兆级别和千兆级别 按防火墙结构划分单一主机防火墙路由集成式防火墙分布式防火墙 华为防火墙利用…...

【Vue】使用html、css实现鱼骨组件

文章目录 预览图组件测试案例 预览图 组件 <template><div class"context"><div class"top"><div class"label-context"><div class"label" v-for"(item, index) in value" :key"index&qu…...

Python的多态

在 Python 中&#xff0c;多态&#xff08;Polymorphism&#xff09;是指不同的对象可以对相同的消息&#xff08;方法调用&#xff09;做出不同的响应。 简单来说&#xff0c;多态允许使用一个统一的接口来操作不同类型的对象&#xff0c;而这些对象会根据自身的类型来执行相应…...

001uboot体验

1.uboot的作用&#xff1a; 上电->uboot启动->关闭看门狗、初始化时钟、sdram、uart等外设->把内核文件从flash读取到SDRAM->引导内核启动->挂载根文件系统->启动根文件系统的应用程序 2.uboot编译 uboot是一个通用的裸机程序&#xff0c;为了适应各种芯片&…...

Flask之电子邮件

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、使用Flask-Mail发送电子邮件 1.1、配置Flask-Mail 1.2、构建邮件数据 1.3、发送邮件 二、使用事务邮件服务SendGrid 2.1、注册SendGr…...

Vue 2 与 ECharts:结合使用实现动态数据可视化

在现代前端开发中&#xff0c;数据可视化变得越来越重要。ECharts 是一个强大的数据可视化库&#xff0c;而 Vue 2 则是一个流行的前端框架。本文将介绍如何将 Vue 2 和 ECharts 结合使用&#xff0c;以实现动态数据可视化。 安装与配置 首先&#xff0c;确保你的项目中已经安…...

.net core Redis 使用有序集合实现延迟队列

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集合是通过哈希表实现的&#xf…...

linux 安装Openjdk1.8

一、在线安装 1、更新软件包 sudo apt-get update 2、安装openjdk sudo apt-get install openjdk-8-jdk 3、配置openjdk1.8 openjdk默认会安装在/usr/lib/jvm/java-8-openjdk-amd64 vim ~/.bashrc export JAVA_HOME/usr/lib/jvm/java-8-openjdk-amd64 export JRE_HOME${J…...

鸿蒙系统:未来智能生态的引领者

在当今这个日新月异的互联网领域&#xff0c;操作系统作为连接硬件与软件的桥梁&#xff0c;其重要性不言而喻。随着华为鸿蒙系统&#xff08;HarmonyOS&#xff09;的崛起&#xff0c;一场关于操作系统未来的讨论再次被推向高潮。 鸿蒙OS&#xff0c;华为的全新力作&#xff…...

Java语言程序设计——篇二(1)

Java语言基础 数据类型关键字与标识符关键字标识符 常量与变量1、常量2、变量 类型转换自动类型转换强制类型转换 数据类型 数据的基本要素数据的性质&#xff08;数据结构&#xff09;数据的取值范围&#xff08;字节大小&#xff09;数据的存储方式参与的运算 Java是一门强类…...

水果商城系统 SpringBoot+Vue

1、技术栈 技术栈&#xff1a;SpringBootVueMybatis等使用环境&#xff1a;Windows10 谷歌浏览器开发环境&#xff1a;jdk1.8 Maven mysql Idea 数据库仅供学习参考 【已经答辩过的毕业设计】 项目源码地址 2、功能划分 3、效果演示...

半导体制造企业 文件共享存储应用

用户背景&#xff1a;半导体设备&#xff08;上海&#xff09;股份有限公司是一家以中国为基地、面向全球的微观加工高端设备公司&#xff0c;为集成电路和泛半导体行业提供具竞争力的高端设备和高质量的服务。 挑战&#xff1a;芯片的行业在国内迅猛发展&#xff0c;用户在上海…...

深入分析 Android BroadcastReceiver (九)

文章目录 深入分析 Android BroadcastReceiver (九)1. Android 广播机制的扩展应用与高级优化1.1 广播机制的扩展应用1.1.1 示例&#xff1a;有序广播1.1.2 示例&#xff1a;粘性广播1.1.3 示例&#xff1a;局部广播 1.2 广播机制的高级优化1.2.1 示例&#xff1a;使用 Pending…...

从数据到洞察:DataOps加速AI模型开发的秘密实践大公开!

作者 | 代立冬&#xff0c;白鲸开源科技联合创始人&CTO 引言 在AI驱动的商业世界中&#xff0c;DataOps作为连接数据与洞察的桥梁&#xff0c;正迅速成为企业数据战略的核心。 在WOT全球技术创新大会2024北京站&#xff0c;白鲸开源联合创始人&CTO 代立冬 在「大数据…...