使用 Python 计算结果

功能描述

该步骤可通过 Python 运行一个用户自定义的脚本,并将计算结果输出到 Mech-Vision。

该步骤特点如下:

  • 支持多线程使用;

  • 可实时加载 Python 脚本;

  • 在 C++ 和 Python 端互相传输数据时,支持多种数据类型的转化;

  • 支持将 Python 端的日志重定向到 Mech-Vision 中。

使用场景

当需要进行自定义计算时,用户可使用该步骤运行编写的 Python 脚本,简化视觉方案。

输入与输出

  • 输入: 由**输入端口**参数中填入的数据类型决定。

  • 输出: 由**输出端口**参数中填入的数据类型决定。

提示

可根据前后步骤的输入/输出端口数据类型,决定该步骤输入/输出端口的数据类型。

安装和使用

安装方法

Mech-Vision 中内置了 Python 3.6.8,该步骤将使用软件内置的环境。若在使用过程中出现缺少 Python 库的情况,需要将所缺少的 Python 库安装在 Mech-Vision 内置的 Python 环境中。安装方法如下:

  1. 打开命令提示符。

  2. 在命令行中使用“cd”命令,将路径切换至 Mech-Vision 的 Python 目录下。

  3. 执行“python -m pip install Python 库的名称”命令,下载安装对应的 Python 库。

提示

Mech-Vision 中已内置了 numpy 和 opencv 两个常用的 Python 库。

使用方法

该步骤的使用方法如下:

  1. 设置输入/输出端口数据类型。根据前后步骤的输入/输出端口数据类型,或根据实际需求,填写 输入端口输出端口 的数据类型。

  2. 设置 Python 脚本路径。在**脚本路径**处选择需要加载的脚本的路径。

  3. 设置调用函数的名称。当选择脚本路径后,该步骤将自动获取该脚本内的函数名称,然后需在 调用函数函数名称 处的下拉栏中选择被调用的脚本函数名称。

  4. 运行步骤。

小技巧

当 Python 脚本发生变化时,如需该步骤实时运行最新 Python 脚本,可在步骤参数中勾选 运行标志 下的 重新加载所需文件

提示

关于各参数的具体解释可参考 参数说明

使用注意事项

编写并使用该步骤运行 Python 脚本时的注意事项如下。

建议使用第三方库

由于在 Mech-Vision 中运行 Python 脚本和在 Python 环境中运行 Python 脚本存在差异,可能会导致某些 Python 库无法安装,或安装后无法使用,所以建议使用第三方库。

注意使用 numpy 库

在 Python 支持的数据类型中,其中比较复杂的类型是通过 numpy 库来作为中间格式的。若存在某个参数类型是 numpy 的数组类型,但却没有导入 numpy,则会发生报错。所以此时需要脚本开头添加 import numpy

编写脚本时需注意数据类型的数据维度

编写 Python 脚本时需要注意步骤端口的基本数据类型本身的数据维度。

  • 默认数据维度为 0 的: Image; Cloud(XYZ); Cloud(XYZ-Normal);

  • 默认数据维度为 1 的: NumberList; BoolList; IndexList; StringList;

  • 默认数据维度为 2 的: PoseList; Pose2DList; Size3DList。

提示

在数据类型后添加“[]”符号,表示增加数据维度。

例如:NumberList 表示一维数值列表,NumberList[] 表示二维数值列表。

参数说明

输入端口
参数解释:该参数用于设置该步骤输入端口的数据类型,输入的数据类型将会变为对应顺序的参数传入所调用的函数。
默认值:空。
输出端口
参数解释:该参数用于设置该步骤输出端口的数据类型,函数返回的各数据会按照对应顺序返回给该步骤,并且会按照对应数据类型进行解析。
默认值:空。

提示

目前支持的数据类型如下:

PoseList; Pose2DList; NumberList; StringList; Image;Cloud(XYZ); Cloud(XYZ-Normal); Size3DList; StringList; BoolList

脚本路径
参数解释:该参数用于选择所需要加载的脚本的文件路径。
默认值:空。
调用函数名称
参数解释:该参数用于设置被调用的脚本函数名称。
默认值:空。