ISP驱动库中径向锐化实现时所犯的低级错误

发布时间:2026/6/30 2:31:41

ISP驱动库中径向锐化实现时所犯的低级错误 在调试径向锐化功能的时候犯了一个低级错误。一、现象径向锐化调整功能本意是想复用CCM的一些参数对图像做锐度调整。预期是在图像调试工具上修改对应的参数比如锐化调整强度用极限值测试的话图像上的锐度会有比较明显的变化。实际的结果是不管如何调整CCM复用的参数图像都没有任何变化。而且打印出来的参数也不是调试工具上设置的值有一些值还非常的大。但是调试对应色温的CCM参数图像却是有变化的。二、分析typedef struct { unsigned char quad_gain; unsigned char quad_floor; } ISP_QUAD_GAIN; typedef struct { unsigned short range1; unsigned short range2; unsigned short range3; unsigned short range4; unsigned short range1_gain_str; unsigned short range2_gain_str; unsigned short range3_gain_str; unsigned short range4_gain_str; unsigned short range5_gain_str; ISP_QUAD_GAIN quad_gain_attr[4]; } ISP_SHARP_RADIAL_ATTR;复用的CCM参数是在初始化的时候更新到以上结构体,后续径向锐化的所有操作都是以该结构体为基准进行调整。由于只是在ISP初始化的时候对其进行了参数更新后续调试工具上修改参数后没有更新到以上的结构体中对应的参数导致无论调试工具端如何调整参数图像都没有明显变化。后续直接替换板端加载的isp参数把对应复用的CCM参数改为合适的参数打印出来的数据符合预期。然后在调试工具上修改极限参数图像的锐度变化还是不符合预期。间接说明的初始化后后续没有再更新相应的参数。另外由于复用的CCM ISP参数上默认的是某一个色温的CCM参数CCM参数中存在负数而ISP_SHARP_RADIAL_ATTR结构体各个成员为无符号类型的变量导致负数转换为无符号类型的时候其数值比较大与实际CCM参数相差比较大。

相关新闻