rv1126之isp黑电平(BLC)校准!

前言:

大家好,今天我们继续来讲解isp第二期内容,这期内容主要分三个部分:

  • 1、tunning的工作流程

  • 2、利用RKISP2.x_Tuner来创建tunning工程,并连接上rv1126开发板进行抓图

  • 3、BLC(黑电平校准)的原理和校准方法以及实战

那对于RKISP2.x_Tuner的工具使用,这个在第一期的内容里面有详细的介绍,当时也给大家大概的介绍了一些isp专用术语;随着内容的深入,这些专业俗语会慢慢详细讲解,并实战演示!

希望这个专题的内容,对大家学习isp内容有帮助!

一、tunning工作流程:

在我们进行对图像质量校准的时候,我们肯定是需要大体知道一个工作流程,只有知道了工作流程,我们才知道干什么。

这里以rv1126平台为例,实际的tunning工作流程如下:

  • BLC:黑电平校正

  • LSC:镜头阴影校正

  • CCM:色彩校正矩阵

  • AWB:自动白平衡校正

  • GIC:绿通道平衡校正

  • Bayer NR:Raw域降噪

  • YNR:Y通道降噪

  • MFNR:多帧降噪

  • FEC:鱼眼校正

今天会专门来介绍黑电平校准!

在第一步新建工程完成后,工具将会在工程路径下生成一份XML文件,该文件记录ISP开放的所有可调参数,无论是后续的标定流程中输出的标定参数,还是调试流程中用户调试的结果,都将记录在XML文件中,最后用户应将该文件替换固件或设备中相应位置的XML即可,这个是在rk平台上是这种参数保存方式,其它soc平台就可能不太一样:

拍摄Raw图是为了进行基础模块的标定,同时也可以采集效果异常的场景,在仿真器中排查问题(这个暂时没讲解,如果要用到再来弄)。基础模块标定需要按照一定流程来进行,如下图:

由于某些模块的标定会依赖前级模块的标定结果,所以用户应按照流程顺序完成标定工作。在完成某一模块标定计算后,应确认参数是否正确,以免错误的结果影响到后级模块。

二、利用RKISP2.x_Tuner来创建tunning工程,并连接上rv1126开发板进行抓图:

下面正式开始来创建一个tunning工程:

创建工程

选择当前项目或产品使用的sensor,Tuner会自动加载对应的配置(分辨率、曝光表等),同时填写镜头型号和模组型号,便于区分项目或产品名称,这里rv1126开发板上使用的sensor是格科微的sensor:gc2053,对应的datasheet如下:

最终生成的工程文件如下:

下面开始来连接rv1126开发板;上次我给大家分享了如何在rv1126开发板通过udhcpc来自动获取局域网的ip方法,这里我就不再重复写了!


板子ip


连接开发板

点击connect to devices 和test按钮出现下面情况,说明连接开发板成功:

现在这里使用vlc来查看预览画面:

最后来使用Capture Tool抓取Raw图:

加载完成后工具会根据XML中的配置,初始化拍摄配置界面:

接着开始按照下面步骤配置下面的参数,不过这里全部默认即可(根据实际情况做调整):

  • 1、选择正确的分辨率、光源和模块名,便于后续使用时区分

  • 2、配置增益、曝光时间和拍摄张数等参数

  • 3、点击Start Manual Capture按钮

  • 4、 拍摄到的raw图会在右侧的Raw Preview & Statistics界面中显示:

  • 5、下方显示了该raw图对应的直方图信息、最大/最小/均值亮度、全局白平衡增益等:
  • 6、抓拍的图片就保存在工程里面:

三、BLC(黑电平校准):

1、标定流程说明:

各模块的标定工作主要可以分为三个部分:

  • 1、拍摄标定图:根据各模块的需求,用合适的曝光拍摄标定板或场景的raw图

  • 2、计算标定参数:导入raw图,计算标定参数,个别模块可以根据需要微调一些参数

  • 3、确认效果并保存参数:根据各模块的标准,判断标定参数是否正确

2、什么是黑电平?

看下面这幅图的介绍介绍即可:

3、BLC标定Raw图拍摄要求:

  • 1、拍摄时遮黑镜头,确保没有任何光线进入

  • 2、拍摄需要遍历Gain=1x、2x、4x、8x、16x...Max(若驱动最大Gain支持到40x,则Max=32)

  • 3、曝光时间并不影响BLC标定,可以统一10ms

4、BLC标定Raw图拍摄方法:

  • 1、打开RKISP Tuner Capture Tool,参考前面的方法,连接设备,光源名选择unknow(无光),模块名称选择BLC;
  • 2、将设备或模组置于无光环境下,并使用黑布、镜头盖等将镜头盖紧;

  • 3、 在Manual Exposure页面中配置Gain=1.0 ExpTime=0.010 Frame Number=1;

  • 4、 点击Start Manual Capture拍摄Raw图;

  • 5、 拍摄到的raw图会显示在右侧,确认raw图基本正常后拍摄下一张;

  • 6、 调整Gain值,Gain=2,重复步骤c、d、e,直至遍历完成(意思就是多抓几张不太同gain值得图片);

5、开始黑电平校准:

标定方法:

  • 1、打开Calibration Tool,点击界面左上角的Edit Options按钮,打开配置界面,输入raw图的尺寸、位宽和bayer顺序;

  • 2、选择BLC标签页,点击下方的Load Raw Files按钮,选择存放Raw图的文件夹,导入的Raw图会显示在右侧的列表中:
  • 3、点击Calibrate按钮,开始标定计算:
  • 最后保存参数即可,并这个xml文件放到开发板里面去看实际的现象.

文章相关参考:Rockchip_IQ_Tools_Guide_ISP2x_CN_v1.2.1

最后:

最后的效果,我会在第三期内容进行展示给大家!

相关推荐
Theodore_102210 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
Bonne journée1 天前
摄像机ISP和DSP的区别?
接口隔离原则·摄像机isp和dsp的区别?
碎碎思1 天前
如何使用 Vivado 从源码构建 Infinite-ISP FPGA 项目
fpga开发·接口隔离原则
xiaoxiongip6665 天前
ISP是什么?
网络·爬虫·网络协议·tcp/ip·ip·接口隔离原则
瞎姬霸爱.9 天前
设计模式-七个基本原则之一-接口隔离原则 + SpringBoot案例
设计模式·接口隔离原则
FoolRabbit12 天前
「撸一手好代码」设计模式之接口隔离原则
java·设计模式·接口隔离原则
无敌 喵星人20 天前
isp框架代码理解
接口隔离原则
邮专薛之谦1 个月前
Java设计模式六大原则
java·接口隔离原则·开闭原则·单一职责原则·六大原则
霍金的微笑2 个月前
接口隔离原则(学习笔记)
笔记·学习·接口隔离原则
KookeeyLena82 个月前
单ISP与双ISP的区别是什么
接口隔离原则