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

ISP Pipeline(4): Anti Aliasing Noise Filter 抗锯齿与降噪滤波器

上一篇文章讲的是:ISP Pipeline(3):Lens Shading Correction 镜头阴影校正-CSDN博客

视频:(5) Anti Aliasing Noise Filter | Image Signal Processing Pipeline Tutorial Series

源码:ISP Pipeline(3):Lens Shading Correction 镜头阴影校正-CSDN博客

Anti-Aliasing Noise Filter 是在图像进入后续 ISP 流程之前,对 Bayer 原始图像进行空间域平滑处理,目的是消除图像中高频噪声和虚假信号,同时尽量保留边缘信息。

1. Aliasing 锯齿产生的原因

  • 原始图像分辨率有限,高频内容(如细线、格栅等)在采样时失真;

  • 在 Bayer 模式下,高频伪影更严重,会影响 demosaic;

  • 解决方式:在采样或处理前做低通滤波(Anti-Aliasing Filter,AA Filter)。

2. Noise 噪声的来源

  • 主要来自于传感器(热噪声、电路噪声)、环境光弱时的随机波动;

  • 原始 Bayer 图中的噪声不仅影响清晰度,还会引入伪彩。

 

滤波器实现方式(常见)

 1. Gaussian Blur / Bilateral Filter

  • 对图像做模糊处理,降低高频分量;

  • Gaussian 是均值滤波的加权版;

  • Bilateral(双边滤波)可以同时平滑图像又保留边缘。

 2. Edge-Preserving Filter

  • 用于保持边缘而去除背景噪声;

  • 比如 Guided Filter、Non-Local Means、Kuwahara Filter

  • 适用于对图像细节要求高的高端 ISP。

 3. Median Filter(中值滤波)

  • 抵抗椒盐噪声、单点突变等;

  • 对于 dead pixel 或突发点状噪声较好。

 代码实现:


def AAF(lsc_img, k):"""inputs:lsc_img = bayer domain image after lens shading correctingk = anti-aliasing correction factor to control strenght of anti-aliasingoutputs:aaf_img = bayer domain image after applying anti-aliasing"""padded_img = np.pad(lsc_img, (2,2), 'reflect') # pad the image to give corner pixels full set of neighborsp1 = padded_img[:-4:1, :-4:1] # create 9 different arrays for p0:p8p2 = padded_img[:-4:1, 2:-2:1]p3 = padded_img[:-4:1, 4::1]p4 = padded_img[2:-2:1, :-4:1]p0 = padded_img[2:-2:1, 2:-2:1] * (k**0.5)p5 = padded_img[2:-2:1, 4::1]p6 = padded_img[4::1, :-4:1]p7 = padded_img[4::1, 2:-2:1]p8 = padded_img[4::1, 4::1]neighbors = np.array([p1, p2, p3, p4, p0, p5, p6, p7, p8]) / ((k + 8)**0.5)aaf_img = (np.sum(neighbors, axis = 0)).astype(np.uint16) # apply the filterreturn aaf_img

自定义 Anti-Aliasing Filter(抗锯齿滤波器),对中心像素及其周围 8 个邻居加权平均,达到 降噪和平滑高频伪影 的目的。

提取邻域:

p1 p2 p3
p4 p0 p5
p6 p7 p8

其中中心像素是:

p0 = padded_img[2:-2, 2:-2] * (k**0.5)

其余 8 个邻居不乘 k 权重,而是在后续归一化除以 sqrt(k + 8)

权重逻辑:

aaf\_img = \frac{\sqrt{k}\cdot p0+p1+p2+...+p8}{\sqrt{k+8}}

其中 k 越大,越强调中心像素,越接近原图(平滑度下降);
k 越小,越平均,图像越模糊。 

相关文章:

  • 人才网站建设的目标郑州网络营销与网站推广
  • b2c医药电商平台有哪些优化快速排名教程
  • 正规品牌网站设计某产品网络营销推广方案
  • 软件开发与网站建设推广公司产品
  • 加强普法网站建设的通知杭州seo搜索引擎优化
  • 网站建设石家庄海外黄冈网站推广
  • 第12章:冰箱里的CT扫描仪——计算机视觉如何洞穿食材的“生命密码“
  • OpenCV插值方法详解:原理、应用与代码实践
  • 服务器排查与加固服务详细介绍
  • 《HarmonyOSNext应用崩溃自救指南:零数据丢失的故障恢复黑科技》
  • 【机器学习深度学习】数据预处理
  • kanzi 视频插件
  • FFmpeg音视频同步思路
  • 计算机网络 网络层:控制平面(二)
  • 从零开始理解百度语音识别API的Python实现
  • Milvus中 Collections 级多租户 和 分区级多租户 的区别
  • C# .NET Framework 中的高效 MQTT 消息传递
  • 解密 C++ 中的左值(lvalue)与右值(rvalue)的核心内容
  • 命名数据网络 | 数据包(Data Packet)
  • docker 命令
  • 2-深度学习挖短线股-1-股票范围选择
  • 均值 ± 标准差的含义与计算方法‘; Likert 5 分制的定义与应用
  • 解锁AI无限潜能!景联文科技数据产品矩阵再升级:多语言题库、海量语料、垂域代码库,全面赋能大模型训练
  • PHP基础2(流程控制,函数)
  • 小程序入门:本地生活案例之首页九宫格布局渲染
  • 快速在手机上部署YOLOv10模型