问题描述
嘉楠K230/K230D RTOS系统VICAP模块重磅升级!多套ISP配置文件自由切换功能正式上线,白天、黑夜、室内、户外专属画质方案随心切换,图像调试、产品量产效率大幅提升!
一、核心升级:ISP场景化配置,多套画质一键切换
K230/K230D RTOS 设备全新开放 VICAP 场景配置 API,为图像效果适配提供极致灵活的解决方案!
开发者可提前预制多套 ISP 配置文件,根据不同光照条件、应用环境按需加载切换,无需额外修改代码或重新编译固件,即可让一套硬件轻松满足全场景画质需求,大幅提升开发效率与产品适配能力!
二、三大核心API,极简开发接入
本次更新提供3个标准API,代码逻辑清晰,快速集成无门槛:
1. 注册ISP场景(名称 + 配置路径绑定)
将自定义场景名与ISP配置文件路径关联,支持注册多组不同场景(如白天、黑夜、室内)。
// 注册白天ISP场景
kd_mpi_vicap_register_scene("day", "/etc/vicap/day/");
// 注册黑夜ISP场景
kd_mpi_vicap_register_scene("night", "/etc/vicap/night/");
2.加载目标ISP场景
加载指定名称的场景配置。
// 标准切换流程:停止摄像头 → 去初始化 → 加载场景 → 初始化重启
kd_mpi_vicap_stop(VICAP_DEV_ID_0); // 停止摄像头
kd_mpi_vicap_deinit(VICAP_DEV_ID_0); // 去初始化
kd_mpi_vicap_load_scene("day"); // 加载目标ISP场景
kd_mpi_vicap_init(VICAP_DEV_ID_0); // 初始化摄像头
kd_mpi_vicap_start(VICAP_DEV_ID_0); // 重启摄像头,配置生效
3.查询当前生效场景
实时获取当前加载的ISP配置名称,方便设备状态管理。
// 获取当前生效的ISP场景名称
const char* current_scene = kd_mpi_vicap_get_scene();
三、官方示例开箱即用:命令行快速切换
官方VICAP示例已支持 -scene_name 和 -scene_path 启动参数,启动时直接加载指定ISP配置,无需修改代码:
# 启动摄像头,加载【白天】ISP配置
./sample_vicap_sensor.elf -c 20 -scene_name day -scene_path /etc/vicap/day/
# 启动摄像头,加载【黑夜】ISP配置
./sample_vicap_sensor.elf -c 20 -scene_name night -scene_path /etc/vicap/night/
每次切换配置,重新启动程序加载对应场景即可,操作简单、运行稳定。
四、核心优势 & 适用场景
1.功能优势
- 多配置预制:支持存储多套ISP参数,满足不同环境需求
- 切换简单:通过API/命令行指定配置,重启摄像头即可生效
- 稳定可靠:RTOS环境专用方案,无运行时动态修改风险
- 调优高效:调试图像时无需反复编译烧录固件
2. 适用场景
✅ 智能摄像头:白天高清、夜晚低噪双模式切换
✅ 工业视觉设备:不同工位/光照加载专属ISP配置
✅ 嵌入式视觉产品:室内/户外环境快速适配画质
✅ 量产调试:一套设备验证多套图像方案
五、开发使用小贴士
-
所有场景必须先注册,再加载,场景名称不可重复,默认使用default场景和路径
-
切换ISP配置必须重启摄像头(执行deinit/init流程),不支持运行中热切换
-
ISP配置文件可以参考原有配置文档,进行参数调整,存放至指定路径即可
-
切换流程严格遵循:停止 → 去初始化 → 加载场景 → 初始化 → 启动
六、写在最后
写在最后
K230/K230D RTOS ISP配置切换功能,完美解决了RTOS视觉设备场景适配难、调试效率低的行业痛点,用最简单稳定的方式实现多场景画质自由。
升级最新SDK,让你的K230/K230D设备拥有更灵活、更专业的图像能力!
参考demo文档:
https://www.kendryte.com/k230_rtos/zh/main/app_develop_guide/media/vicap.html
API文档:
https://www.kendryte.com/k230_rtos/zh/main/api_reference/mpp/vicap.html
