首页 > 其他分享 >锐化调试总结

锐化调试总结

时间:2022-10-08 23:32:01浏览次数:44  
标签:总结 锐化 边界 亮度 yuv 模块 调试

1、锐化的作用及做锐化的原因

锐化实际就是对边界的增强,它会增加边界的锐利度,但不会带来更多的内容,做锐化的原因是由于一开始 isp从 sensor 采数据的时候,

就做了下采样,这对边界来说是有损失的,边界不可能和刚好和每一个 pixel 重合,大部分的边界在 sensor 采样之后一般都会被分到两个 pixel 里面去了,

这时边界就被平滑掉了一次。采样频率的原理可以参考这篇文章:图像边缘锯齿及摩尔纹产生的原因

另外后面去噪的模块虽然都会考虑去做保边的处理,但在某些情况下多多少少都会对边界有所损失。

接着图像经过去马赛克的模块后实际人眼看是糊的,它是通过周围邻近的点去插值计算中心的点,会有低通的作用在里面,所以需要去增加边界的锐利度,把边界的差异给凸显出来。


2、锐化调试过程总结

锐化调试过程主要需保证3点,避免假纹理、锯齿、噪点的产生。

以我目前调试的平台为例,锐化模块主要分为 raw域+yuv域的锐化,raw域的锐化主要是保证更多的弱细节不受损失,在经过 demosaic 模块之前,将弱边界先进行一个增强,使之后模块的处理,弱边界可以被看到。

yuv域是主要的锐化模块,有包含亮度、运动区域、有方向,无方向梯度控制分别去做锐化,及黑白边的控制。

a、调试过程中先调弱 yuv域锐化或 baypass yuv域锐化的基础上,去调整 raw域的锐化,但要保证不能有白边的情况下,去展现更多的细节,否则后续的锐化会将白边做强。

b、接着将黑白边的控制,调到最高,避免被截止(这里是 overshoot 的控制,是将前面的亮度、运动、梯度的锐化处理后的数据再次做了一个限制,处理后的数据和原始数据的差值大于设定的 overshoot 的值,就用这个设定值)。

c、调试yuv域锐化时,调试顺序可以是先调整有方向梯度的锐化,保证大边界的完整。

运动区域的锐化 、亮度区域的锐化、无方向的锐化,这些都是相互叠加的,调试一个参数时,可以将其他参数都设成1或一个尽量小的值后(保证其他模块都有去用到),

依次分步长去增加,在保证假纹理、锯齿、噪点合适的情况下找到其临界点。

d、调整运动区域锐化时,分步长(比如5)逐级去增加,不能调的很大,确认其黑白边的临界点;

e、调整亮度区域锐化时,也是一样分步长(比如5)逐级去增加,可以所有亮度一起增加,调到合适的值后,再去减弱两边的部分;

f、再接着去调整有方向的锐化,保证大边缘的锐利度,且不能有锯齿出现,也是按步长是一步步增强。

g、再接着去调整无方向的锐化,增加高频纹理无规则的边界部分,注意不能有黑白边,假纹理出现,按步长调到一个合适的值为止;

h、再接着去慢慢按步长去降低,overshoot 的值,到一个临界值。

i、调试过程中,可拍照对比之前调试的效果,编码参数都设置成16M,避免呼吸效应导致的信息丢失,看两张图内容的多少、及图片的 size,

若按上述调整后内容增加了,但 size 还比原来的小,则是原来调整的带来了很多无用的,假的信息 。


标签:总结,锐化,边界,亮度,yuv,模块,调试
From: https://blog.51cto.com/u_15699736/5738785

相关文章

  • 20221415_获奖感言及学习总结
    20221415_获奖感言及学习总结获奖感言很荣幸可以获得娄老师的奖品。我会再接再厉学好编程。学习总结敢学、不服输的态度C语言最开始的学习无疑是痛苦的,如果一直对......
  • 每周总结
    今天久违的写个总结近期主要就是复制代码,一直复制一直爽,猛然觉得好久都没有自己原创的代码了。赶紧学学springboot让自己的脑子活跃起来。另外echarts有点难,难的部分主......
  • 推荐一个变量调试神器:go-spew
    今天给大家推荐的是一个可以将变量以一种非常友好的方式输出其完整的数据结构信息的工具:go-spew。 该包经过了全面的测试,测试覆盖率为100%。支持各种自定义配置,非常方便......
  • 2022-2023-1 20221425 《计算机基础与程序设计》第6周学习总结
    学期(如2022-2023-1)学号(如:20221300)《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这......
  • SAP UI5 ODataModel.createEntry 单步调试
    方法入口:initOData:function(){functionmySuccessHandler(){debugger;}functionmyErrorHandler(){debugger......
  • 2022-2023-1 20221419 《计算机基础与程序设计》第6周学习总结
    2022-2023-120221419《计算机基础与程序设计》第6周学习总结作业信息班级:[2022-2023-1-计算机基础与程序设计]https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP......
  • 案例分享:Qt工程机械真空激光焊接系统软件产品定制(西门子PLC,mysql数据库,用户权限控制,界
    需求  1.触摸屏控制,按照客户需求,ui由本司美工承担设计,显示分辨率1280x1024,同时支持鼠标操作。  2.权限控制:三种权限,分为管理员(可以定制模块界面,修改产品名称等定......
  • 20221008测试总结
    n维偏序题目背景1363擅长跑酷(迫真!题目描述今天\(1363\)要挑战在\(n\)座排成一排的房屋上跑酷。第\(i\)座房子的高度是\(h_i\)。初始时\(1363\)站在第一座房......
  • Android 11+ 无线调试
    Android11+无线调试第一步:初始化无线调试功能初次启用adb无线wifi调试功能,需要先在手机开发者模式中打开USB调试和无线调试功能,然后用USB连接手机到电脑进行......
  • video.js使用总结
    video.js使用总结video.js是通过HTML5将原生的video标签进行渲染的js开源工具。拥有更多的API,进行个性化定制。在vue项目中引入video.jspackage.json:"dependencies":......