RK3588s imx415相机适配及ISP调优系列(三)--- RKISP调试环境配置

article/2025/9/26 16:00:26

经过上篇的相机配置后,两个mipi相机已经可以正常出图了。其实对于rk系列如何配置mipi相机,网上已有不少相关资料均可参考借鉴。
RK3588s imx415相机适配及ISP调优系列(一)
RK3588s imx415相机适配及ISP调优系列(二)— mipi相机适配

那么接下来讲讲怎么做ISP图像调优。Sony IMX415是瑞芯微官方就已经适配过的,因此ISP相关的参数都是用的默认参数。如果只是在光照条件较好的环境下来做做监控的话图像质量是足够了,但如果想用来做目标识别或是对图像质量有更高的要求,则需要再对图像质量进行针对性调优了,也就是本篇开始所要讲述的内容。以下先从如何配置RK3588S的ISP在线调试环境讲起。

目录

  • 1、调试准备工作
    • 1) 环境要求
      • 光源
      • 测试卡
    • 2) 软件配置
      • RKISP_Tuner
      • rkaiq_tool_server
  • 2、板卡端程序rkaiq_tool_server编译
  • 3、联调测试

1、调试准备工作

1) 环境要求

完整的图像测试/标定系统主要由光源、测试卡、测试/标定软件三部分组成,通过光源配合各种的测试卡,在实验室中模拟各种环境,将相机成像结果导入软件后进行分析,再针对性调优。除以上三部分外,专业的图像实验室还会配备自动化的控制装置、反馈模块等。因此,想做IQ(Image Quality)调优必须配置光源及配套测试卡。

光源

标准光源通常分为透射光源、反射光源,从海思、海康这些大厂公开的调试指南来看,透射光源一般用于相机测试,即验证相机出图质量是否合格;而箱式反射光源通常用于相机标定,适用于在某块soc上ISP做针对性ISP调优,从这个角度理解反射光源要求更高(纯个人理解)。下面是我调研的几家光源产品:
箱式反射光源可查看箱式反射光源调研
透射光源可查看透射灯箱调研

测试卡

对于图像质量,一般而言我们主要关注维度在亮度、清晰度、噪声、色彩还原这几个方面。因此一般都会配置以下几种测试卡:
1、爱色丽24色卡
2、Q14灰阶卡
3、ISO12233分辨率卡
4、噪声测试卡
前面三种都是业界比较通用的,噪声测试卡由于瑞芯微开源的ISP调试工具(RKISP Tuner)用的灰度渐变卡(8*6灰阶卡),不是通用的,所以找厂家定制了。
噪声测试卡

2) 软件配置

说完了硬件环境的配置,再来说说ISP软件相关的。ISP软件包括两部分: RKISP_Tuner(ISP调试软件,运行于PC端)和rkaiq_tool_server(运行于板卡端)。

RKISP_Tuner

瑞芯微在3588前都在sdk里开源了他家的RKISP_Tuner,但从3588开始就不再开源了,网上找了一圈也没找到,最终还是通过firefly要到了测试版的RKISP_Tuner。下图是sdk里调试指南中关于 RKISP_Tuner的介绍,RK3588对应版本是RKISP30。
在这里插入图片描述RKISP_Tuner运行前,需要在PC端安装依赖库,否则运行时会报错。依赖库如下:
1)、MCR_R2016a_win64_installer
2)、vcredist_x64
这两个安装包我都上传网盘了,需要的可自行下载!
链接:https://pan.baidu.com/s/1sJKQhcKPJ1TDZJFVxZVJrQ
提取码:84uy

rkaiq_tool_server

说完PC端的软件环境,再来说说板卡端的。rkaiq_tool_server需要自己在sdk中编译,然后拷贝到板卡中运行,下节将详细介绍rkaiq_tool_server的编译过程。

2、板卡端程序rkaiq_tool_server编译

和RKISP_Tuner一样,rk3588s的sdk中也是没有rkaiq_tool_server。不幸中的万幸,我发现3568中有rkaiq_tool_server,试着编译了一下拿过来居然可以用。rkaiq_tool_server在sdk的app文件目录下,可以使用buildroot方式进行编译,具体步骤如下:
1)进入sdk中buildroot文件夹,选择环境变量设置
$ source buildroot/build/envsetup.sh

2)编译依赖的库(输入命令前需要在make menuconfig中勾选需要编译的程序)
这个我也是根据自己编译rkaiq_tool_server时报错来一步步处理的,遇到错误缺少什么库就编译什么库
$ make rockchip-mpp-dirclean & make rockchip-mpp-rebuild
$ make camera_engine_rkaiq-dirclean & make camera_engine_rkaiq-rebuild
$ make libv4l-dirclean & make libv4l-rebuild

3)编译rkaiq_tool_server
$ make rkaiq_tool_server-dirclean & make rkaiq_tool_server-rebuild

4)可执行文件及库拷贝至板卡
编译成功后,在output文件夹下会生成可执行文件rkaiq_tool_server及rkmedia.o库文件,将这两个文件拷贝至板卡端根目录下( /data/)。

PS:若不想麻烦地自己编译,下面是我编译好的可执行程序和库,可直接下载:
rkaiq_tool_server可执行程序

3、联调测试

1)网络连接
软件准备完毕后,网线连接PC和板卡,配置IP地址在同一网段;

2)板卡端运行rkaiq_tool_server(程序放到/data/下)
$ sudo ./rkaiq_tool_server -d 0 -s /dev/video22&
参数含义可以参考RKISP工具使用指南文档,如下:

rkaiq_tool_server参数说明3)PC端运行RKISP_Tuner,打开后会弹出对话框,正常情况下填上IP、端口选择默认的即可连接成功;

4)连接成功后,选择“RKISP captural tool”可进行在线图像采集,也可选择标定工具进行标定。
具体采集、标定的操作步骤留到下一篇!

参考:
1、ISP30图像参数:Rockchip_Tuning_Guide_ISP30_CN_v1.1.0.pdf
2、ISP工具使用指南:Rockchip_IQ_Tools_Guide_ISP21_ISP30_CN_v2.0.4.pdf
3、ISP系统介绍:Rockchip_Driver_Guide_VI_CN_v1.1.1.pdf
4、firefly wiki: https://wiki.t-firefly.com/zh_CN/Core-3588SJD4/linux_compile_ubuntu.html
【1-3】的文档都在RK3588的sdk/doc目录中可以找到


http://chatgpt.dhexx.cn/article/ltgJMjyn.shtml

相关文章

keras_tuner库的总结【源自官网Examples】

keras_tuner库的使用,源自官网的Examples 在kerastuner中entries表示的是某个超参数对象的可取值。术语体系。有些称谓是自行杜撰的。文章中的内容或者概念需要结合原文代码多理解与多实验。 ① example1 from tensorflow import keras from tensorflow.keras i…

射频知识简介

无线通信系统中,一般包含有天线、射频前端、射频收发模块以及基带信号处理器四个部分。随着5G时代的,天线以及射频前端的需求量及价值均快速上升,射频前端是将数字信号向无线射频信号转化的基础部件,也是无线通信系统的核心组件。…

使用PID—tuner做参数整定

环境:Matlab/Simulink 2020a 仿真模型: 调节前:Kp1;Ki0;Kd0 systf([1],[100 80 17 1]); H[1]; kp1;ki0;kd0; PID_CONpid(kp,ki,kd); sys_opsys*PID_CON;sys_clfeedback(sys_op,H) step(sys_cl) 无法跟踪单位阶跃信号 使用Tune整定 虚线是当前…

解决使用pycharm安装keras-tuner后tensorflow-gpu 2.5.0无法使用的问题

解决方法 以下是我的解决方法,亲测可行,不过有点麻烦。 创建新的环境,再次安装tensorflow-gpu 2.5.0,但在之前先安装keras-tuner conda create -n new_tensorflow python3.8进入该环境 conda activate new_tensorflow下载安装cudatoolkit…

MATLAB/simulink中PID Tuner工具箱(APP)

MATLAB学习笔记系列第五篇了,这一篇重点讲一下pid tunner的使用。上一篇讲的是控制系统,MathWorks官方MATLAB/Simulink基础入门视频教程 笔记(控制系统) 那个课程到上一篇就已经完结了,这一篇主要是实际使用过程中的情…

MATLAB中关于PID的调参simulink中PID Tuner工具箱的使用

目录 一、在matlab(r2018a)中导入已知的数学模型 二、打开PID Tuner模型的命令: 三、将数学模型导入到PID Tuner中 使用PID Tuner对simulink里的PID控制器进行调参 已知数学模型为 一、在matlab(r2018a)中…

如何在 Simulink 中使用 PID Tuner 进行 PID 调参?

作者 | 安布奇责编 | 胡雪蕊出品 | CSDN(ID: CSDNnews)本文为一篇技术干货,主要讲述在Simulink如何使用PID Tuner进行PID调参。 PID调参器( PIDTuner)概述 1.1 简介 使用PID Tuner可以对Simulink模型中的PID控制器&…

使用Keras Tuner进行自动超参数调优的实用教程

在本文中将介绍如何使用 KerasTuner,并且还会介绍其他教程中没有的一些技巧,例如单独调整每一层中的参数或与优化器一起调整学习率等。Keras-Tuner 是一个可帮助您优化神经网络并找到接近最优的超参数集的工具,它利用了高级搜索和优化方法&am…

AI4DB:openGauss人工智能参数调优之X-Tuner

X-Tuner:参数调优与诊断 一、概述 二、使用准备 三、使用示例 四、获取帮助 五、命令参考 六、常见问题处理 一、概述 增量物化视图可以对物化视图增量刷新,需要用户手动执行语句完成对物化视图在一段时间内的增量数据刷新。与全量创建物化视图的不…

5G时代芯片之王——射频芯片

目录 什么是射频芯片? 射频芯片市场 竞争格局 什么是射频芯片? 射频( RF , Radio Frequency) , 表示可以辐射到空间的电磁频率, 频率范围从300kHz~300GHz之间。射频是一种高频交…

Tuner及工作原理介绍

Tuner的介绍 Tuner是什么? 为了提高电视信号的传输效率,减少于扰,电视信号通常都采用射频(RF)信号传输方式,即把要传输的视频或音频信号调制(作幅度调制AM或频率调制FM)到频率较高的射频载波上,从发信端发送出去&…

ADG架构搭建3 -- 一主一备ADG主备切换

本文接该系列文章的上一篇:ADG架构搭建2 – 搭建一主一备ADG架构 前言 Oracle Dataguard的角色转换包含两类:Switchover和Failover。Switchover指主备之间角色转换,主库降为备库,备库升级为主库。而failover则是指主库出现问题时…

RAC+ADG(单节点ADG)

RACADG有两种存储数据文件的形式,一个是将DG的数据文件放在ASM上,另一个是将数据文件放在本地磁盘上 本实验做的是数据放在本地磁盘上。 在搭建RACDG之前,请确保RAC是没有问题的 1.检查集群状态 grid用户下执行: crsctl status r…

ADG架构搭建1--Oracle安装

本系列文章将会带领大家从零完成一个Oracle ADG架构的搭建。 本片文章为系列文章的第一篇。 前言 本文将带领大家完成两台服务的Oracle安装。 正文 版本说明: Oracle版本 Oracle Database 12c Release 1 (12.1.0.2.0) - Enterprise Edition 操作系统版本 Red Hat …

Oracle ADG 与 DG 的区别

首先,DG(Data Guard,数据卫士)不是一个备份恢复的工具,然而,DG却拥有备份的功能,在物理DG下它可以和主库一模一样,但是它存在的目的并不仅仅是为了备份恢复数据,应该说它…

ADG架构搭建5 -- 一主两备ADG主备切换

本文接该系列文章的上一篇:ADG架构搭建4 – 搭建一主两备ADG架构 前言 在《ADG架构搭建3 – 一主一备ADG主备切换》一文中,已经带领大家完成了一主一备ADG的主备切换,相信大家对该部分内容已有所了解。本文将对《ADG架构搭建4 – 搭建一主两…

第一章 ADG基本知识

Oracle Data Guard 配置可以包含一个主数据库和多达 30 个目标。 备用数据库是主数据库的事务一致副本。 当主数据库是 CDB 时,代理配置中的所有备用数据库也必须是 CDB。 备用数据库的类型如下: 物理备用数据库 提供物理上相同的主数据库副本&#xf…

完成端口使用总结

前言 本文不是全面介绍完成端口的,只是简单介绍了一下完成端口和几个常用概念。本文主要关注完成端口关闭时资源释放问题。 基础介绍 完成端口——可能是Win32下最复杂的一种I/O模型,Win32下最复杂的内核对象。它通过指定数量的线程对重叠I/O请求进行管理,以便为已经完成的…

WinSock完成端口I/O模型

关于重叠I/O,参考《WinSock重叠I/O模型》;关于完成端口的概念及内部机制,参考译文《深度探索I/O完成端口》。 完成端口对象取代了 WSAAsyncSelect 中的消息驱动和 WSAEventSelect 中的事件对象,当然完成端口模型的内部机制要比 WS…

Windows 完成端口编程

Windows 完成端口编程 本文为转载, 原文地址: http://xingzhesun.blogbus.com/logs/3925649.html Table of Contents 1 基本概念 2 OVERLAPPED数据结构 3 完成端口的内部机制 3.1 创建完成端口 3.2 完成端口线程的工作原理 3.3 线程间数据传递 3.4 线程的安全退出 1 基本…