可视化流程编排
MindX SDK实现功能的最小粒度是插件,每一个插件实现特定的功能,如图片解码、图片缩放等。将这些插件按照合理的顺序编排,实现相应的功能。可视化流程编排通过可视化的方式,开发数据流图,生成pipeline文件供应用框架使用。
- 进入工程创建页面,用户可通过以下方式开始流程编排。
- 在顶部菜单栏中选择图1。 ,打开空白的pipeline绘制界面,如
- 在顶部菜单栏中选择图2(若自行绘制pipeline文件已放入工程目录中,也可在工程目录栏直接双击该文件打开)。 ,打开用户自行绘制的pipeline文件,如
绘制界面分为左侧插件库、中间编辑区、右侧插件属性展示区,左侧插件库与中间编辑区请见图2,请参见表1。
表1 绘制界面介绍 区域
介绍
插件库
- 根据已安装的MindX SDK扫描获取,在工程目录下生成“AllPluginsInfo.json”文件,MindStudio将会通过该文件识别插件以保证生成的pipeline可以找到对应的so。用户可将插件库目录展开,直接将所需插件拖动到编辑区内,或在搜索框中以关键字查找到插件,然后单击拖动到编辑区内。
- SDK开发套件有自带插件库,安装完成SDK开发套件后打开绘制界面,左侧插件库会自动加载,自带插件库可查询《mxVision 用户指南》的“已有插件介绍”章节。
- 若自带插件库无法满足开发需求,用户可自行开发插件并通过Plugin Manager功能导入插件库,若目录不存在需要自行创建。开发插件的指导可参见插件开发、《mxVision 用户指南》的“插件开发介绍”章节。
- 在工程开发过程中,如有插件变更,用户可通过插件库中的按钮重新扫描刷新。
编辑区
- 从插件库中拖动某个插件,放入编辑区。可以连接两个插件,形成功能数据流,支持1对1、1对多、多对1连接关系。
- 每个插件的可配置的属性信息可被扫描,单击选中编辑区内的插件,用户可以在插件属性展示区自定义配置(如插件属性中的路径参数)。
- 以图2为例,紫色为输入插件,红色为输出插件,其余插件为蓝色,灰色为当前插件库中未定义的插件。
- 鼠标悬停在插件上时,会显示该插件的功能描述信息。
- 单击键盘“Del”键可删除选中的插件或连线,在选中状态下,可对插件块进行大小拖放操作,最大尺寸可支持2倍宽度和2倍高度。
- 打开已有内容的pipeline文件,编辑区的左下方会有“Pipeline Stream Editor”与“Text”选项。支持图形化显示(默认)与代码显示两种方式,建议用户以图形化显示方式使用流程编排可视化功能。
插件属性展示区
- 单击编辑区中的插件时,会展示插件的属性。
- 插件属性以key-value的一对一简单形式或subkey-subvalue的复杂形式展现。
- subkey-subvalue形式下,单击删除键值对,单击新增键值对。
表2 界面功能介绍 功能
作用
Plugin Manager
自定义插件管理,可通过该功能添加自定义插件的目录,导入用户的自定义插件库。(插件所在目录权限需要“440”权限,请在导入前进行确认。)
- 单击“+ Add Plugin”按钮,在弹出的窗口中选中自定义插件so文件所在目录,单击“OK”。
- 完成所有插件目录配置后单击“Save”,保存当前的自定义插件配置。
- 打开pipeline,点击插件库中的并根据提示重新打开pipeline,可通过插件库中查看到自定义插件已完成加载。
在使用Plugin Manager导入自定义插件时,请注意插件所需的依赖,如果插件存在未满足的依赖,该插件可能无法在插件库中显示。
Format
格式化按键,可一键解决插件的重叠或一键格式化整理用户绘制完成的插件流程。
New
新建画板。
Open
打开pipeline文件。
Save
以当前pipeline文件名称保存。
Save As
自定义保存绘制完成的pipeline插件流程图文件。单击弹出保存窗口。
参数介绍如下,用户可自行定义:
- “Pipeline Filename”:pipeline文件的名称。
- “Output Path”:保存的路径。
Export
以jpg格式导出pipeline文件,单击弹出图片导出窗口。
参数介绍如下,用户可自行定义:- “Pipeline Export Filename”:图片导出文件名称,无需带.jpg后缀。
- “Export Path”:图片导出路径,用户可自行定义。
- 在左侧编辑框选择插件,拖动至中间编辑框,按照用户的业务流程进行连接。如果拖动错误插件或者错误连线,选中错误插件或者错误连线单击键盘“Del”键删除。用户自定义的流水线绘制完成后,选中流水线中的所有插件,右键选择 设置Stream名称,如果有多条流水线则需要对每一条流水线设置Stream名称。
默认“Stream name”为“stream0”,“Device Id”为“0”。请根据实际需求进行修改,如果需要对插件设置Device Id,请将属于同一Stream的插件选中设置为相同的Device Id。
- 绘制完成后,单击“Save”按钮保存。
父主题: 基于MindX SDK开发应用