news 2026/4/23 10:39:21

02Isp的基础算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
02Isp的基础算法

TestPattern

主要是为了排查故障用的

BLC(BlackLevel Correction)------黑电平校正

就是cmos在完全暗的时候也会产生小电流,导致输出的图像会有噪声
黑电平矫正就是将这个噪声计算出来,以后拍摄图像之后减去这个噪声

LSC(Lens Shade Correction)------镜头阴影校正

就是说镜头获取的图像亮度由中间向四周递减,这个算法就是给他补上这个递减的部分
补上,在数学实现上其实是乘以一个增益系数
不止补“亮度”,还要补“颜色”
光源变了,补法也要变

DPC(Bad Point Correction)------坏点校正

sensor不能保证读到的每个点都是好的,
DPC 的核心逻辑就是“少数服从多数”(中值滤波)。
检测: ISP 看着一个像素说:“哎,你周围的 8 个邻居数值都是 50 左右,怎么就你一个是 200?”
判断: 只要差值超过了一个阈值(Threshold),就判定你是坏点。
替换: ISP 会说:“你别说话了,我用你邻居的平均值来代替你。”

GB(Green Balance)------绿平衡

由于人眼对绿色较为敏感在感官原件设计时将绿色像素点设计为2个,红色和蓝色各一个,但是两个绿色像素点的滤光效果可能有区别,所以要对两个像素点做平衡处理,一般都是取平均

Denoise-----去除噪声

Denoise就是要去除噪点,但是噪点从哪里来呢:

  • 光照强度:光是一种随机性粒子,光线越暗,进来的光子越少,导致了随机性波动比例越大
  • 传感器:即使没有光,硅片中的电子就会因为热运动而乱跑
  • ADC噪声:将模拟信号转换成数字信号时产生的噪声

那怎么去除噪声呢:
原来是使用高斯滤波,但是这会导致图像的边缘轮廓变得模糊,因为算法不知道哪里是边缘

为了解决这一问题,现在通常使用的是双边滤波算法,
他是怎么判断边缘的呢,主要是在优化之前,看看邻居点的关系,如果差距较大,就认为是边缘,不进行优化,差距较小就进行优化

Demosaic------颜色插值

Demosaic的作用就是将sensor感受到的光照强度转换为可以看见的颜色
由于像素点只能感受光照强度,所以工程师在sensor之前加了一个滤光片,这个滤光片是经过特意设计的一个像素点只能感受一种颜色,那滤光片是排列的呢,目前主流的是GRBG排列

那么目前的情况是一个像素点具有一个颜色,那么如何使一个像素点有rgb三种颜色呢,这就要用到颜色插值算法了,插值的原理就是猜,根据周围邻居的颜色来猜自己的颜色

AWB (Automatic White Balance) —— 自动白平衡

对于人眼来说无论是在中午大太阳下,还是黄昏昏暗的光照下看一张白纸都是白的,但是对于sensor来说,他就不具备这种能力,这时候我们的白平衡算法就要出手了

白平衡的核心思想就是:不管环境光是什么颜色,还是要把画面中的白色物体还原成白色

CCM(Color Correction Matrix)------颜色校正

就是滤光片真实情况下不可能完全滤光这就导致了颜色的偏差,所以给他乘以一个矫正矩阵来恢复颜色偏差

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:05:58

公司代码、控制范围、成本中心的关系

一个控制范围下有多个公司代码,并且也有多个成本中心 ✅ 一句话总结: 业务范围(GSBER)不是组织结构的一部分,而是一个“统计维度”或“报表视角”,它可以被客户、物料、销售订单携带,并与成本中…

作者头像 李华
网站建设 2026/4/23 11:45:13

基于Java+SpringBoot+SSM宠物领养一站式服务系统(源码+LW+调试文档+讲解等)/宠物领养平台/宠物领养服务/一站式宠物服务/宠物领养系统/宠物服务平台/领养宠物一站式服务

博主介绍 💗博主介绍:✌全栈领域优质创作者,专注于Java、小程序、Python技术领域和计算机毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2025-2026年最新1000个热门Java毕业设计选题…

作者头像 李华
网站建设 2026/4/23 11:52:08

Packet Tracer使用教程:新手避坑常见操作误区

Packet Tracer实战避坑指南:新手常踩的6大“雷区”与正确打开方式你是不是也经历过这样的时刻?在Packet Tracer里辛辛苦苦搭好拓扑,信心满满地点击“ping”,结果——Request timed out。检查了一遍又一遍配置,IP没错、…

作者头像 李华
网站建设 2026/4/23 11:50:57

Elasticsearch安装监控:Docker+Prometheus集成示例

从零搭建可观测的 Elasticsearch:Docker Prometheus 实战指南 你有没有遇到过这样的场景?线上搜索服务突然变慢,用户抱怨“查不到数据”,而你打开 Kibana 却只能看到索引还在增长——但 JVM 堆内存是不是快炸了?线程…

作者头像 李华
网站建设 2026/4/23 11:49:05

快速理解AUTOSAR中BSW与SWC的关系

深入理解AUTOSAR中BSW与SWC的协同机制:从开发痛点到系统设计你有没有遇到过这样的场景?一个原本在A车型上运行良好的发动机控制算法,移植到B车型时却“水土不服”——不是CAN通信收不到数据,就是ADC采样值异常。更糟的是&#xff…

作者头像 李华