OpenISP 模块拆解 · 第6讲:色度噪声过滤 (CNF)

OpenISP 模块拆解 · 第6讲:色度噪声过滤 (CNF)

模块作用

CNF 是 Bayer 域色度噪声过滤模块,位于 AWB 之后、CFA 之前。它主要处理 R/B 采样点上的异常彩色噪声,避免这些彩噪在 demosaic 中扩散。

openISP 实现

源码类名为 CNF(img, bayer_pattern, thres, gain, clip),包含三步:

  • cnd():Chroma Noise Detection,检测色噪。
  • cnc():Chroma Noise Correction,修正色噪。
  • cnf():组合检测和修正。

检测思想

cnd() 在中心周围 8x8 区域统计:

  • avgG:绿色采样平均值。
  • avgC1:一种色彩采样平均值。
  • avgC2:另一种色彩采样平均值。

若中心点明显高于 avgG + thresavgC2 + thres,并且同类色彩均值也高,则认为可能是色噪。

修正思想

cnc() 计算中心点相对邻域的色彩突起:

text 复制代码
signalGap = center - max(avgG, avgC2)
chromaCorrected = max(avgG, avgC2) + dampFactor * signalGap

dampFactor 与 R/B gain 有关。gain 越大,说明该通道更可能放大噪声,修正越强。

最后用 fadeTot 在原值和修正值之间混合:

text 复制代码
center_out = (1 - fadeTot) * center + fadeTot * chromaCorrected

参数说明

参数 含义
thres 色噪检测阈值
gain AWB gain,用于决定阻尼强度
clip 输出上限
bayer_pattern 决定 R/B 位置

读源码注意点

  • openISP 主程序传入 thres=0,检测会很敏感。
  • grbg 分支中出现三维索引 cnf_img[y, x, :],但 cnf_img 是二维数组,疑似源码问题。
  • 该模块是经验规则,适合理解色噪抑制,不是通用最优算法。

面试问答

Q1: 为什么 CNF 要放在 CFA 前?

因为 CFA 会把单个 R/B 异常点插值扩散到周围多个 RGB 像素。提前在 Bayer 域抑制彩噪,可以减少后续伪彩和色斑。

Q2: 色度噪声为什么常见于 R/B 通道?

很多传感器绿色通道响应更强,R/B 通道在某些光源或低照下信号更弱,需要更大 AWB gain,因此噪声更容易被放大。

Q3: CNF 过强有什么副作用?

会降低色彩细节和饱和度,可能把真实小面积彩色纹理当作噪声抹掉。

Q4: CNF 和 FCS 有什么区别?

CNF 在 Bayer 域处理 R/B 异常采样点,主要防止彩噪扩散。FCS 在 YUV 域根据边缘图压低 UV,主要抑制 demosaic 后的边缘伪彩。

Q5: 如何验证 CNF 效果?

可以在 RAW 的 R/B 位置人工加入孤立高值,观察 CFA 前后彩点是否减少;也可以比较关闭 CNF 后暗部彩噪变化。

相关推荐
岁月蹉跎的一杯酒5 小时前
格科微内置 ISP 图像效果调试(格科微 YUV Sensor)—GC2145
图像处理·isp·gc2145
FPGA开源工坊8 小时前
ISP图像处理--Bayer Raw格式
图像处理·人工智能·verilog·fpga·isp
安河桥。1 天前
Android视频流处理模块硬件加速器数据流转技术说明
android·图像处理·isp
资质小秘书5 天前
2026 年全国 ISP 许可证办理周期深度解析与提速指南
isp·许可证·isp许可证·增值电信业务
一只嵌入式爱好者6 天前
深入理解ISP
图像处理·isp
AomanHao6 天前
【ISP】sensor高亮灰度溢出及anti-bloomimg功能
接口隔离原则·isp·sensor
大熊背9 天前
ISP FPN噪声消除逻辑
人工智能·isp·noise·fpn
橘色的喵11 天前
一根数据源,两条出图路:UVC(USB)与 CSI-2(MIPI)对比解读
usb·isp·mipi·uvc·csi-2
岁月蹉跎的一杯酒20 天前
模组选型指标对图像质量影响
isp
Industio_触觉智能1 个月前
瑞芯微ISP内核驱动深度解析|ISP39 AI协处理器与完整业务链路总结(下篇)
人工智能·嵌入式硬件·硬件架构·硬件工程·rk3588·isp·rk3576