跳转至

IBService 代理事件

IBService 中的代理事件使用,涵盖 demo 展示、运行 demo、连接主版本、Task 配置、加载 task 和图片。

Demo 展示

启动 demo

运行 demo

方式一:直接运行 exe

找到 demo 的 exe 文件,直接运行(\lpv0907\lpv0826\bin\x64\Debug)。

启动 demo

连接成功:

启动 demo

方式二:在代码里面运行(需要配置 VS 环境)

  1. 配置 VS 环境,可下载社区版本(免费)
  2. 启动程序

程序启动 demo

建议使用方式二,可以满足自己配置路径,也可自行配置做测试。

连接主版本

需要修改语句,注意格式,填写主版本的包所在路径(适用压缩包)。

String folderPath = "C:\\Users\\15757\\Desktop\\IB_3.7.52_x64_softEnc";

连接灵闪

C++ 代码片段

private void button1_Click(object sender, EventArgs e)//建立主连接
{
    try
    {
        String folderPath = "C:\\Users\\15757\\Desktop\\IB_3.7.52_x64_softEnc";

        m_ib_service.SetUp(folderPath);
        if (m_ib_service.IsReady())//检查灵闪服务是否就绪
        {
            MessageBox.Show("IntelliBlink service setup successfully");
        }
        else
        {
            MessageBox.Show("IntelliBlink service setup failed");
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(" Error: " + ex);
    }
}

Task 配置

任务需求:检测出图中的圆形,并按照 Z 字形排序,输出中心坐标和圆形数量,允许用户通过 IBService 控制算法是否启用,通过事件代理对统计数据进行重置。

操作步骤

  1. 打开灵闪,创建解决方案

  1. 创建 task

  1. 添加图片

  1. 添加多斑点定位算法

  1. 编辑斑点

  1. 调参

  1. 添加点阵排序算法(选择排序点为多斑点定位的斑点位置,设置近似列间距和行间距,选择排序方式为按行 Z 字形)

  1. 设置输入输出代理。按照要求允许在 IBService 中设置算法是否启用,需要配置输入参数代理

  1. 设置输出参数代理,按照需求要求,输出点阵排序的中心

  1. 添加统计算法,统计斑点数量(即圆点数量)

  1. 配置事件代理(重置操作)

加载 task 和图片

保存配置的 task,在 IBService 和灵闪建立连接成功后,点击"添加作业文件"按钮,导入配置好的 task,点击"添加测试图片"按钮添加要测试的图片。

添加测试图片,导入要测试的图片,点击"执行作业文件"即可实现 task 运行一次。

执行结果如下图所示:

全局变量加载

如果需要加载全局变量,在 task 所在的解决方案里,找到 config 文件夹,选择 globalAction.json 文件,加载全局变量(当前用这种方式即可,后面如果用到 lpv 可以与打开的灵闪建立连接,读取全局变量)。

功能键说明

  • 建立主连接:连接到灵闪。需确保代码里的 IntelliBlink 文件夹路径完整无误
  • 添加作业文件:导入灵闪中配置好的 task 文件。找到 task 所在路径选中即可导入
  • 添加测试图片:添加 task 运行所需要的图片。找到图片所在路径选中即可加载到 demo 中
  • 执行作业文件:运行 task。当图片和 task 加载完成后点击此按钮会执行 task 运行
  • 重置设置运行:该按钮一般不要点击,是开发人员写的一个死循环
  • 更新作业:对 task 的输入参数代理进行编辑后更新设置。编辑可调整的输入参数后,需要点击更新作业按钮,更新 task 的参数设置,再执行作业才能生效
  • 可调整的输入参数:针对 task 中配置的输入参数代理进行设置。可以修改数值
  • 作业的执行结果:输出 task 的执行结果(输出参数代理)。展示输出代理参数结果(后面可以考虑 demo 优化)
  • 读写全局变量:前提为 task 里面有全局变量的设置