专栏底层软件J6X gdc stitch sample

J6X gdc stitch sample

新手村2026-08-19
16
0

1. 功能概述

本文的demo sample实现GDC多路处理鱼眼图,最后通过STITCH拼接成鸟瞰图。

1.1. 软件架构说明

本文的demo sample采用回灌流程,即从系统存储中读取文件作为GDC的输入图像,调用VIO API,基于GDC配置bin文件完成GDC处理,再通过videostitch API和对应的拼接LUT表文件实现对GDC输出图像的拼接,得到鸟瞰图。

其中使用到的JSON配置文件、GDC配置bin文件和拼接LUT表等相关文件,可以由标定后的相机内外参数以及配置的拼接图范围,通过convert_tool工具自动生成,工具的具体使用方法可参考 ConvertTool工具使用指南 章节。

软件控制图如下:

1.2. 代码位置及目录结构

本sample的代码位于工程目录:{sdk_dir}/test/samples/platform_samples/source/S83_Sample/S83E04_Module/gdc_stitch_sample;

目录结构如下:

根目录包含 Kconfig 和外部接口的 Makefile , Kconfig 用于控制该demo是否加入整体编译;res目录中包含了资源文件,例如YUV图像、VPM配置文件、GDC配置bin文件、STITCH拼接配置文件、STITCH拼接lut文件等;src目录下的 Makefile 用于src目录下的编译, gdc_stitch_sample.c 是main入口的所在文件, utils.c 包含一些功能性代码,例如YUV图像读取和dump、配置文件解析等。

1.3. API流程说明

API流程图如下:

主干代码:

GDC初始化和反初始化:

STITCH初始化和反初始化:

2. 编译

2.1. 编译环境

本sample的编译环境使用SDK中的build工具,请参考: Build环境建立 章节。

2.2. 编译说明

本sample编译需要videostitch、hbmem和VPM系统相关的头文件:

本sample编译依赖的库:

编译命令:

3. 运行

3.1. 支持平台

J6X Matrix

1.20.3.2. 板端部署及配置

刷写系统软件镜像后,本sample的可执行文件位于板端: /app/sample/S83_Sample/S83E04_Module/gdc_stitch_sample/bin/libvio_hal_gdc_stitch_sample;
需要用到的资源文件均位于板端: /app/sample/S83_Sample/S83E04_Module/gdc_stitch_sample/res/, 用户也可以通过 mount -o rw,remount /app 指令将 /app 分区权限变更为可读写后对齐进行修改替换。

3.3. 运行指南

3.3.1. 运行方法

本文的demo sample执行命令如下:

3.3.2. 运行命令行说明

libvio_hal_gdc_stitch_sample :应用程序名字。

下面的表格是具体参数的说明:

参数名

用法

是否必需

-s

指定STITCH的配置文件

-v

指定VPM的配置文件

-d

开启dump,1:dump STITCH输出结果,2:dump GDC输出结果,3:dump所有输出结果

-l

指定循环运行次数,默认为5

-r

指定资源文件位置,默认为/app/sample/S83_Sample/S83E04_Module/gdc_stitch_sample/res

-D

开启Debug模式,打印STITCH配置信息

例如上面的执行命令:

  • -s 参数 /app/sample/S83_Sample/S83E04_Module/gdc_stitch_sample/res/stitch_config.json 代表STITCH配置文件所在位置。
  • -v 参数 /app/sample/S83_Sample/S83E04_Module/gdc_stitch_sample/res/vpm_config.json 代表VPM配置文件所在位置,JSON里面的具体配置可参考VPS配置文件说明。
  • -d 参数为3,代表dump STITCH和GDC的输出结果。
  • -l 参数未配置,即默认循环运行5次。
  • -r 参数未配置,即使用默认位于 /app/sample/S83_Sample/S83E04_Module/gdc_stitch_sample/res 的资源文件。
  • -D 参数未配置,即不需要Debug模式打印相关配置信息。

帮助菜单:

3.3.3. 运行结果说明

执行命令后,打印信息如下:

dump文件将保存在当前执行目录:

GDC的四路输入图像和输出图像如下:

  • pipeline0:

  • pipeline1:

  • pipeline2:

  • pipeline3:

STITCH拼接得到的鸟瞰图如下:

底层软件
技术深度解析社区征文官方教程征程6
评论0
0/600