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

【ISP】暗角阴影校正-Radial Shading

一、镜头阴影

当镜头与sensor匹配,因为Sensor感光区的边缘区域接收的光强比中心区域小,所造成的中心和四角亮度不一致的现象。镜头本身就是一个凸透镜,由于凸透镜原理,中心的感光必然比周边多。

镜头阴影不利于后期的画面分析,关键的信息可能就隐藏在这些阴影当中。许多工程师被这个问题困扰过,一般是解决方法是通过修改复杂的后期算法来解决“镜头阴影”。

二、阴影校正

2.1 增益校正-Radial Shading(径向校正)

镜头从中心到边缘的亮度衰减符合用“cos⁴θ”规律,再反过来以图像中心为原点,按半径划分同心圆区域,存储不同半径对应的增益值,给每个像素乘一个半径相关的增益,把暗下去的边角重新拉亮。

为了节省存储资源,增益表格也是缩放处理,例如保存16x16,实际校正时通过插值计算各像素的增益。

2.2 增益校正-Mesh Shading(网格校正)

将图像划分为多个网格(如16×16),计算每个网格顶点的增益值并存储,其他像素通过双线性插值动态计算增益。此方法更灵活,适用于非对称阴影,存储数据更少。

2.3 增益校正-Point Shading(逐点校正)

计算均匀场景下每个像素与图像均值或者最大值的增益值并存储,适用于任何场景阴影,存储数据与分辨率对应,数据很多。

三、增益校正-Radial Shading

3.1 校正原理

数学模型:用半径r rr代替θ θθ
对无畸变针孔模型,θ ≈ a r c t a n ( r / d ) θ ≈ arctan(r/d)θarctan(r/d)d dd为像距。在小角度下

c o s 4 θ ≈ ( d / √ ( d 2 + r 2 ) ) 4 ≈ 1 – 2 ( r / d ) 2 + cos⁴θ ≈ (d / √(d²+r²))⁴ ≈ 1 – 2(r/d)² +cos4θ(d/√(d2+r2))41–2(r/d)2+

下图是c o s 4 θ cos⁴θcos4θ增益数值趋势

于是可把增益写成径向多项式

G ( r ) = 1 / c o s 4 θ ≈ 1 + k 1 r 2 + k 2 r 4 + … ( k i > 0 ) G(r) = 1 / cos⁴θ ≈ 1 + k₁r² + k₂r⁴ + … (kᵢ>0)G(r)=1/cos4θ1+k1r2+k2r4+(ki>0)

3.2 校正流程

1、标定:拍均匀白场,算出每个半径 r 的平均亮度 I®。

2、求增益:G ( r ) = I c e n t e r / I ( r ) G(r)=I_center / I(r)G(r)=Icenter/I(r)

3、降采样:只存 16~32 个“特征半径”的增益,节省内存。

4、在线矫正:对任意像素,先算$ r=√(x²+y²)$,再插值得到G ( r ) G(r)G(r),最后把 RAW 值乘以 $G® $即可。

3.3 校正效果

左图是校正前的原始图,受到光学系统影响暗角比较明显。右图校正后可以一定情况改善四周的暗角。

觉得本文对您有一点帮助,欢迎讨论、点赞、收藏,您的支持激励我多多创作。


我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

http://www.jsqmd.com/news/188638/

相关文章:

  • SLURM: sbatch的hint参数介绍和解释
  • 【AHA三维路径规划】人工蜂鸟算法AHA无人机群航迹协同避障路径规划【含Matlab源码 14817期】
  • 2025必备!10个AI论文写作软件,研究生高效写论文神器!
  • 【A_Star三维路径规划】A_Star算法无人机三维路径规划(含雷达威胁)【含Matlab源码 14816期】
  • Springboot驾校培训管理系统2736g(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 电力系统风储联合一次调频仿真模型附Simulink仿真
  • 全网最全自考必备TOP9 AI论文写作软件测评
  • 具身智能抢人大战:毕业一年,年薪300万元
  • [Linux外设驱动详解]RK3588 平台 U-Boot 环境变量加载机制分析
  • 电力系统短期负荷预测(附Python代码+数据+详细文章讲解)
  • 电容器内部区域的有限元方法(FEM)仿真研究附Matlab代码
  • vue+uniapp+小程序springboot考研学习交流系统 研究生之路-
  • Representation Learning with Contrastive Predictive Coding(InfoNCE)学习
  • 大面额携程任我行礼品卡哪里回收更安心 - 京顺回收
  • 电动汽车电池换电站选址与定容附Matlab代码
  • AI应用架构师案例复盘:金融AI智能体项目延期原因分析——智能化投资决策系统架构设计的教训
  • 还在用老方法写论文?8款AI工具1小时搞定万字!
  • 电动汽车集群并网的分布式鲁棒优化调度模型附Matlab代码
  • GPT-4探索语言的无界领域与AI文本生成技术
  • 电力系统潮流计算及不对称短路分析附Matlab代码
  • 2026年修表店推荐:基于多品牌实测的11家优质售后中心排行榜。 - 十大品牌推荐
  • 实用指南:Linux kill命令与kill函数:从信号原理到实战解析
  • 预测结果汇总 生成时间: 2026-01-03 19:54:38
  • 2026年修表店推荐:聚焦百达翡丽等名表售后案例的11强服务榜单深度对比。 - 十大品牌推荐
  • [Linux外设驱动详解]RK3588 启动地址与链接脚本详解
  • 深入 ‘Runtime Profiling’:监测执行图中每一个节点的内存占用,优化超长对话下的内存泄漏
  • 2026年手表保养推荐:主流品牌服务中心横向评测与排名揭晓 - 品牌推荐
  • 如何开发一套GEO优化系统并实现自动化部署
  • 团队升级:用集体好奇心重塑企业文化
  • leetcode 840. Magic Squares In Grid 矩阵中的幻方-耗时100%