OpenISP 模块拆解 · 第10讲:颜色空间转换 (CSC)

OpenISP 模块拆解 · 第10讲:颜色空间转换 (CSC)

模块作用

CSC 是颜色空间转换模块,openISP 用它把 RGB 转为 YUV。转换后,亮度 Y 和色度 U/V 分离,方便后续分别做亮度降噪、锐化、色度抑制、饱和度控制。

openISP 实现

源码类名为 CSC(img, csc)csc 是 3x4 矩阵:

text 复制代码
Y = (R*c00 + G*c01 + B*c02 + c03) / 1024
U = (R*c10 + G*c11 + B*c12 + c13) / 1024
V = (R*c20 + G*c21 + B*c22 + c23) / 1024

配置文件中的小数系数在主程序里乘以 1024,形成固定点矩阵。

默认转换

配置类似 limited range RGB to YUV:

text 复制代码
Y =  0.257R + 0.504G + 0.098B + 16
U = -0.148R - 0.291G + 0.439B + 128
V =  0.439R - 0.368G - 0.071B + 128

其中 Y offset 为 16,U/V 中性点为 128。

为什么转 YUV

图像质量调校常常希望分离亮度和色度:

  • Y 通道:降噪、锐化、亮度对比度。
  • UV 通道:饱和度、色相、伪彩抑制。

这样可以减少亮度处理对颜色的副作用。

读源码注意点

源码没有显式 clipping,最后直接转 uint8。若矩阵输出超出范围,真实系统应做饱和裁剪。

面试问答

Q1: YUV 中 Y 是不是等于绿色通道?

不是。Y 是由 RGB 加权得到的亮度分量,只是 G 权重通常最大,因为人眼对绿色更敏感。

Q2: U/V 为什么常以 128 为中性点?

在 8-bit 无符号表示中,色度需要表达正负偏移。用 128 作为零色度中心,低于或高于 128 表示不同色度方向。

Q3: 为什么锐化通常只做 Y 通道?

人眼对亮度细节更敏感,对色度分辨率较低。只锐化 Y 能增强清晰度,同时避免放大色噪和彩边。

Q4: CSC 和 CCM 都是矩阵,有什么区别?

CCM 是颜色校正,用于传感器 RGB 到目标 RGB 的颜色还原。CSC 是颜色空间转换,例如 RGB 到 YUV,用于后续编码或调校。

Q5: limited range 和 full range YUV 有什么区别?

limited range 通常 Y 在 16...235,UV 在 16...240;full range 使用 0...255。范围不同会影响黑位、白位和显示兼容性。

相关推荐
岁月蹉跎的一杯酒4 天前
ISPDiffuser:用扩散模型学习 RAW→sRGB 映射
图像处理·isp
FLJwu6 天前
传感器与图像 ISP 实战 03:运动相机图像量产一致性|批次色差、白平衡漂移、整机标定与出厂图像质检方案|20 年源头工厂量产经验
图像处理·经验分享·数码相机·相机·isp
岁月蹉跎的一杯酒8 天前
ISP 黑电平校正(BLC, Black Level Calibration/Correction)
论文阅读·图像处理·isp
AomanHao18 天前
【ISP】compression artifact压缩失真情况
图像处理·数码相机·isp·sensor·图像压缩·压缩失真
岁月蹉跎的一杯酒20 天前
格科微内置 ISP 图像效果调试(格科微 YUV Sensor)—GC2145
图像处理·isp·gc2145
FPGA开源工坊20 天前
ISP图像处理--Bayer Raw格式
图像处理·人工智能·verilog·fpga·isp
安河桥。21 天前
Android视频流处理模块硬件加速器数据流转技术说明
android·图像处理·isp
资质小秘书25 天前
2026 年全国 ISP 许可证办理周期深度解析与提速指南
isp·许可证·isp许可证·增值电信业务
一只嵌入式爱好者1 个月前
深入理解ISP
图像处理·isp
AomanHao1 个月前
【ISP】sensor高亮灰度溢出及anti-bloomimg功能
接口隔离原则·isp·sensor