SampleOsd 样例说明

1 介绍

1.1 简介

  • 本样例从ExternalOsdInstances.json构建一个绘图单元集合(MxpiOsdInstancesList)的元数据(metadata)并送入stream

  • 如构建的proto数据正确则可在程序运行结束后在运行目录找到图片testout.jpg,此图片为输入图像经过缩放后加上绘图单元集合后的输出结果

1.2 支持的产品

本项目以昇腾Atlas 300I Pro, Atlas 300V Pro和Atlas 500 A2为主要的硬件平台。

1.3 支持的版本

本样例配套的Vision SDK版本、CANN版本、Driver/Firmware版本:

Vision SDK版本 CANN版本 Driver/Firmware版本
26.0.0 9.0.0 26.0.RC1

1.4 代码目录结构说明

.
|
|-------- C++
|           |---- CMakeLists.txt                    // 编译所需文件
|           |---- main.cpp                          // C++样例主文件
|           |---- run.sh                            // 编译脚本
|-------- data
|           |---- test.jpg                          // 测试图片(需自行准备)
|-------- json
|           |---- ExternalOsdInstances.json         // 绘图单元配置信息
|-------- pipeline
|           |---- SampleOsd.pipeline                // 流程编排文件
|-------- python
|           |---- main.py                           // python样例主文件
|-------- README.md                                 // ReadMe

2 设置环境变量

# 设置环境变量,根据实际安装路径修改
source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/mxVision/set_env.sh

3 准备模型

使用mxpi_opencvosd插件前,需要使用osd相关的模型文件,请执行Vision SDK安装目录下operators/opencvosd/generate_osd_om.sh脚本并生成所需的模型文件

# 执行脚本之前需要进入到运行目录下
cd /usr/local/mxVision/operators/opencvosd
bash generate_osd_om.sh

4 编译与运行

本样例分为C++版本和Python版本,请根据自身需要运行对应样例

步骤1:图片准备

准备一张测试图片,置于 data 文件夹中,并重命名为 `test.jpg`

步骤2:编译与运行,C++样例需要先编译再执行,Python样例无编译过程,可以直接执行

C++样例

# 于C++样例主文件所在目录执行以下命令
bash run.sh    # 编译
./main         # 执行

Python样例

# 于python样例主文件所在目录执行以下命令
python3 main.py  # 执行

步骤3:查看结果

运行目录下会生成testout.jpg,图像中存在"Hello, world!"字样