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

news2025/1/16 5:39:19

前言:

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

  • 1、tunning的工作流程

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

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

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

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

一、tunning工作流程:

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

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

16ee004bd22608c486653977e488d4e5.png
  • BLC:黑电平校正

  • LSC:镜头阴影校正

  • CCM:色彩校正矩阵

  • AWB:自动白平衡校正

  • GIC:绿通道平衡校正

  • Bayer NR:Raw域降噪

  • YNR:Y通道降噪

  • MFNR:多帧降噪

  • FEC:鱼眼校正

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

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

64a99f3e0af8cf146bfe919f70eaa2b1.png

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

b7c10db5979088784caab91e478d0b09.png

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

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

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

d1ad1758c7354aec5721dd382f02763a.png
创建工程

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

3422d30806f286a42ac38966cc707f25.png2022b3f2ca0d086083a3b4cd3886e510.png

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

38acbf90b5e291fd5868716107f66bfe.png

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

00867ae8ed89331a321e325ca650d553.png

板子ip

59e85cdc976446189955bba52a00f509.png

连接开发板

25d30353fd6922778525ee5b45cc8990.png

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

5c9559ea4c20a47f3ec8203b2f269890.png4741e0d3dce53b711aa2a7e580960a6f.png

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

6fb30cd622d1a29c8f9a1fa9220d5484.png

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

2875ecde4ea1cca674ad15d2c4f05742.png7849f0827aaa123fbf50d773f5695106.png753a10e04f7def7478ba8a1504ab9178.png

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

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

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

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

  • 3、点击Start Manual Capture按钮

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

864f26daae2e5a7d1f97f4e9403006c2.png

  • 5、下方显示了该raw图对应的直方图信息、最大/最小/均值亮度、全局白平衡增益等:

b8e4e6443fbc4e5d5fa2e560dbddbd41.png

  • 6、抓拍的图片就保存在工程里面:

8cd7f7b32ac29eb7e600cbed4911da95.png28b671c4dfc1c9cce92e35d5065f43ab.png

三、BLC(黑电平校准):

1、标定流程说明:

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

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

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

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

2、什么是黑电平?

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

b6417b778f76a7113691bc460f420d97.pnga01616b0f048f21e6d537813b76e04de.png

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;

2c4aaa2a1092e250349ffeaebd4d8e21.png

  • 2、将设备或模组置于无光环境下,并使用黑布、镜头盖等将镜头盖紧;

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

b622217f13bfb3938765ae6a336946ba.png

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

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

ccbaae366a51ca6dd38c3608deea628f.png

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

5、开始黑电平校准:

标定方法:

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

4c9054fe2bb4beee1727fd5d41af92c7.png6338893ddc996b1be6c45d78ee2698c7.png

  • 2、选择BLC标签页,点击下方的Load Raw Files按钮,选择存放Raw图的文件夹,导入的Raw图会显示在右侧的列表中:

017802e3a0b0bcbeb4f9990c37b35a7a.png

  • 3、点击Calibrate按钮,开始标定计算:

614d8b41f564249de42d2f8daf430d0a.png

  • 最后保存参数即可,并这个xml文件放到开发板里面去看实际的现象.

文章相关参考:Rockchip_IQ_Tools_Guide_ISP2x_CN_v1.2.1

最后:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE4(Unreal Engine 4)运行setup.bat发生403报错的问题

最近UE官方在迁移服务器,有些D:\UE4\Engine\Build\Commit.gitdeps.xml文件需要更新。此时需要你去往UE对应的版本下载新的Commit.gitdeps.xml文件,并且覆盖原有的Commit.gitdeps.xml文件。UE的官方说明 覆盖前 覆盖后

Tomcat多实例与负载均衡

Tomcat多实例与负载均衡 一、Tomcat多实例1.1、安装JDK1.2、安装tomcat1.3、配置tomcat环境变量1.4、修改tomcat中的主配置文件1.5、修改启动脚本和关闭脚本1.6、 启动tomcat并查看 二、NginxTomcat负载均衡、动静分离2.1、部署Nginx负载均衡2.2、部署第一台tomcat2.3、部署第二…

Windows系统远程桌面连接CentOS7

1. 安装 GNOME 桌面环境(如果尚未安装) yum groupinstall "GNOME Desktop" 2. 安装 VNC Server yum install tigervnc-server 设置 vnc 账号密码 vncpasswd root root 是账号,接下会提示两次输入密码 3. 安装 xrdp 检查cento…

编译器01-整体概述

一:编译器各个阶段及它们之间接口 二:编译器各个阶段解释 三:编译器中常用的数据结构-树与链表

基于springboot+vue的实验室耗材管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Mysql数据库之常用SQL语句及事务学习总结

数据库介绍 几个常见的缩写: DB:数据库。全称:DataBase。DBMS:数据库管理系统。全称:DataBase Management System。DBS:数据库系统。全称:DataBase System。DBA:数据库管理员。全称…

Matlab图像处理-分水岭算法

基本概念 最常用的分水岭算法是F.Meyer在20世纪90年代早期提出的基于灰度图像的分割算法,它是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度&#xff0c…

二分搜索树层序遍历(Java 实例代码)

目录 二分搜索树层序遍历 Java 实例代码 src/runoob/binary/LevelTraverse.java 文件代码: 二分搜索树层序遍历 二分搜索树的层序遍历,即逐层进行遍历,即将每层的节点存在队列当中,然后进行出队(取出节点&#xff0…

分身空间(应用多开)会员版,提供更便捷的应用多开体验

分身空间(应用多开)会员版是一款功能强大的跨平台多设备同步工具。通过这个应用,您可以在手机、平板电脑和电脑等多个设备上同时登录和使用多个账号,实现应用的多开。 无论是社交媒体、游戏、聊天工具还是其他应用,分…

Windows MySQL服务安装及问题解决方案

Windows MySQL服务安装及问题解决方案 安装及配置步骤一:官网下网MySQL安装包步骤二:设置环境变量步骤仨:配置MySQL,ini配置文件步骤四:初始化MySQL步骤五:开启MySQL服务步骤六:测试是否安装成功步骤七&…

【Linux】Systemd 中的单元(Unit)和单元文件(Unit File)怎么理解?

单元(Unit)单元文件(Unit File)感谢 💖 关于systemd是什么,http://t.csdn.cn/pMkG7这篇文章里有详细说明。 这篇文件我们一起来看看Systemd 中的单元(Unit)和单元文件(Un…

C语言经典100例题(50)--#include 的应用练习

目录 题目 问题分析 代码 运行结果 题目 #include 的应用练习 问题分析 头文件的定义:#include 指令告诉预处理器打开指定的文件,并且把此文件的内容插入到当前文件中。因此,如果想让几个源文件可以访问相同的信息,可以把…

算法通关村18关 | 透析回溯的模板

回溯有清晰的解题模板, void backtracking(参数){if (终止条件){存放结果;return;}for (选择本层中的集合元素(画成树,就是树节点孩子的大小) {处理节点;backtracking();回溯,撤销处理结果;}} 1. 从N叉树说起 在回溯之前&#x…

克隆阿里巴巴镜像网站的yum源制作自己的yum源

“你会在一间炉火昏黄的房子里死去,而你父亲的魔法全然失效。那张天鹅绒床是如此温热,你的死亡尚有余温之时,我将从风雪中归来……” 主要使用到 nginx 服务器制作 与 vsftpd 服务器不一样的是 nginx 使用到的是 http 协议 xsftpd 使用到的是…

第14章_瑞萨MCU零基础入门系列教程之QSPI

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

103. 二叉树的锯齿形层序遍历

103. 二叉树的锯齿形层序遍历 题目-中等难度示例1. bfs 题目-中等难度 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行&#xff09…

常用串口调试工具(列表)

目录 串口调试助手(微软商店可以下载,无广告)UartAssist(串口调试助手)串口调试助手 5.13.1 串口调试助手(微软商店可以下载,无广告) 链接: https://apps.microsoft.com/store/detail/%E4%B8%B2%E5%8F%A3%E8%B0%83%E8%AF%95%E5%8A%A9%E6%89%8B/9NBLGGH4…

sqli-labs-master安装及报错处理

一、环境的安装 1.phpstudy 安装 Windows版phpstudy下载 - 小皮面板(phpstudy) (xp.cn)https://www.xp.cn/download.html 注意:这里用的是windows版本 2.SQLi-Labs 下载安装 (1)下载 mirrors / audi-1 / sqli-labs GitCodehttps://gitc…

Java8实战-总结24

Java8实战-总结24 用流收集数据收集器简介收集器用作高级归约预定义收集器 用流收集数据 流可以用类似于数据库的操作帮助你处理集合。可以把Java 8的流看作花哨又懒惰的数据集迭代器。它们支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFir…

Android与单片机 | 开发板 | 智能硬件 | 智能设备 | 数据协议 |开发总结

一、缘起 工作中经常遇到需要Android程序与各式各样的板子、智能设备进行交互,通信的方式也基本上都是Ble或者Socket tcp/udp等等…其中最重要的一点就是通信的协议、协议、协议重要的是说三遍;通信协议就是用来定义与设备交互的方式和交互过程中数据包…