当前位置: 首页 > news >正文

【05】VM二次开发——模块参数配置--带渲染/不带渲染(WinForm界面调用 模块参数配置)

文章目录

  • 1 Winform 窗口界面 (带渲染的参数配置控件)
  • 2 配置代码
  • 3 运行测试
  • 4 不带渲染的参数配置控件 对比
    • 4.1 添加控件
    • 4.2 代码及演示效果

模块参数配置

本教程介绍如何在VM二次开发中对模块参数进行配置

在这里插入图片描述

1 Winform 窗口界面 (带渲染的参数配置控件)

VmParamsConfigControl是不带渲染的参数配置控件;
VmParamsConfigWithRenderControl是带渲染的参数配置控件;

在上一将的基础上继续添加渲染及数据结果获取,显示在Winform界面 【条码/一维码识别】;

在Form1窗口,添加GroupBox 和VmParamsConfigWithRenderControl控件;
在这里插入图片描述

2 配置代码

在方案执行,按钮下面添加参数配置代码

在上一将的基础上继续添加渲染及数据结果获取,显示在Winform界面 【条码/一维码识别】;

第一行代码为实例化一个模块;
需要通过字符识别类来定义并实例化一个字符识别模块对象;
在这里插入图片描述

private void button3_Click(object sender, EventArgs e)
{//模块参数配置//第一行代码为实例化一个模块;//需要通过字符识别类来定义并实例化一个字符识别模块对象;IMVSOcrModuCs.IMVSOcrModuTool ocrTool = (IMVSOcrModuCs.IMVSOcrModuTool)VmSolution.Instance["流程1.字符识别1"];vmParamsConfigWithRenderControl1.ModuleSource = ocrTool;VmSolution.Instance.SyncRun();//此函数,会同步执行一次方案中的所有流程listBox1.Items.Add("方案执行一次成功!");listBox1.TopIndex = listBox1.Items.Count - 1;//获取结果,分为渲染结果和数据结果;//渲染结果显示在界面上,//数据结果获取后用户可进行输出或其它处理,本示例将数据结果显示在消息区;//将其与先前VM中配置好输出的流程1进行绑定VmProcedure vmProcess1 = (VmProcedure)VmSolution.Instance["流程1"];//然后将渲染控件的显示源ModuleSource绑定流程1对象vmRenderControl1.ModuleSource = vmProcess1;//通过此代码即可获取到格式化中订阅的字符识别结果strValuestring ocrResult = vmProcess1.ModuResult.GetOutputString("out1").astStringVal[0].strValue;string ocrNum = vmProcess1.ModuResult.GetOutputInt("out0").pIntVal[0].ToString();listBox1.Items.Add("OCR识别结果:" + ocrResult);listBox1.TopIndex = listBox1.Items.Count - 1;listBox1.Items.Add("字符个数:" + ocrNum);listBox1.TopIndex = listBox1.Items.Count - 1;}

如果出现下面拨错,是因为目前还未添加模块的引用
在这里插入图片描述
右键引用–>添加引用–>搜索ocr—>选择IMVSOcrModuCs这个库添加
在这里插入图片描述

3 运行测试

  • OCR识别–VM方案介绍:

    • 案例目的是为了展示传统OCR识别工具对字符的识别过程:

    • 1,用特征匹配和位置修正对字符定位;

    • 2,字符识别模块ROI框出需要识别的字符,然后提取字符并训练。

    • 注:OCR具有两个识别结果,用户可根据两个结果进行其它操作。

在这里插入图片描述

  • 程序运行加载方案后,

直接在流程区中双击VM模块即可在弹窗中进行参数配置;
在这里插入图片描述

在这里插入图片描述

代码中的对象绑定的是流程1中的字符识别1模块,
方案执行后,便可以在参数配置区看到这个字符识别模块的参数配置;
带渲染的参数配置控件相比于普通参数配置控件多出一个图像渲染显示区域;

  • 点击方案执行验证效果,
    区域中显示出了字符识别模块的参数配置界面;
    在运行参数中更改算法参数,可以在渲染界面实时查看效果;

在这里插入图片描述

4 不带渲染的参数配置控件 对比

4.1 添加控件

接下来演示另一个参数配置控件,
首先调整下界面布局,将控件的Dock属性设置为None,然后调整控件的位置和大小;
将不带渲染的参数配置控件VmParamsConfigControl拖拉到参数配置区中 ;

在这里插入图片描述
参数配置区
上方是,不带渲染的参数配置控件
下方是, 带渲染的参数配置控件(渲染就是显示处理的图像)

4.2 代码及演示效果

在方案执行按钮中添加一行代码

  vmParamsConfigControl1.ModuleSource = ocrTool;//不带渲染的参数配置控件

在这里插入图片描述

private void button3_Click(object sender, EventArgs e)
{//模块参数配置//第一行代码为实例化一个模块;//需要通过字符识别类来定义并实例化一个字符识别模块对象;IMVSOcrModuCs.IMVSOcrModuTool ocrTool = (IMVSOcrModuCs.IMVSOcrModuTool)VmSolution.Instance["流程1.字符识别1"];vmParamsConfigWithRenderControl1.ModuleSource = ocrTool;// 带渲染的参数配置控件(渲染就是显示处理的图像)vmParamsConfigControl1.ModuleSource = ocrTool;//不带渲染的参数配置控件VmSolution.Instance.SyncRun();//此函数,会同步执行一次方案中的所有流程listBox1.Items.Add("方案执行一次成功!");listBox1.TopIndex = listBox1.Items.Count - 1;//获取结果,分为渲染结果和数据结果;//渲染结果显示在界面上,//数据结果获取后用户可进行输出或其它处理,本示例将数据结果显示在消息区;//将其与先前VM中配置好输出的流程1进行绑定VmProcedure vmProcess1 = (VmProcedure)VmSolution.Instance["流程1"];//然后将渲染控件的显示源ModuleSource绑定流程1对象vmRenderControl1.ModuleSource = vmProcess1;//通过此代码即可获取到格式化中订阅的字符识别结果strValuestring ocrResult = vmProcess1.ModuResult.GetOutputString("out1").astStringVal[0].strValue;string ocrNum = vmProcess1.ModuResult.GetOutputInt("out0").pIntVal[0].ToString();listBox1.Items.Add("OCR识别结果:" + ocrResult);listBox1.TopIndex = listBox1.Items.Count - 1;listBox1.Items.Add("字符个数:" + ocrNum);listBox1.TopIndex = listBox1.Items.Count - 1;}

参数配置区
上方是,不带渲染的参数配置控件
下方是, 带渲染的参数配置控件(渲染就是显示处理的图像)
在这里插入图片描述

http://www.dtcms.com/a/309686.html

相关文章:

  • JVM指针压缩的那些事
  • JVM学习日记(十三)Day13
  • C#线程同步(二)锁
  • 【工具变量大全】上市公司实证研究常用控制变量数据集(2001-2024年)
  • sqli-labs通关笔记-第26a关GET字符注入(多重关键字过滤绕过 手注法)
  • qt贝塞尔曲线演示工具
  • Product Hunt 每日热榜 | 2025-08-01
  • 5-EP4CE10F17C8-引脚配置
  • Fiddler中文版使用指南 提升开发流程的一站式抓包与调试体验
  • 大模型幻觉的本质:深度=逻辑层次,宽度=组合限制,深度为n的神经网络最多只能处理n层逻辑推理,宽度为w的网络无法区分超过w+1个复杂对象的组合
  • 搭建体育直播系统所需的核心数据接入
  • 深度解析:Nginx的卓越性能
  • C# 中生成随机数的常用方法
  • 消息顺序、消息重复问题
  • 在VScode里运行并调试C++程序
  • SpringMVC的拦截器
  • Mermaid流程图可视化系统:基于Spring Boot与Node.js的三层架构实现
  • gradio作为原型工具
  • 专业餐饮直播如何激发食欲与购买欲?
  • zabbix的PostgreSQL监控模板中文环境采集问题处理
  • 【BFS】P7555 [USACO21OPEN] Maze Tac Toe S|普及+
  • Java向量化
  • C语言使用GmSSL库实现sm3、sm4算法
  • SH3001六轴传感器应用(二)(IIC驱动开发)
  • Linux---编辑器vim
  • JAVA结合AI
  • Linux 硬盘分区管理
  • 工程化(一):Vite vs. Webpack:从“打包”到“服务”,构建工具的范式转移
  • 鸿蒙系统下的动态负载均衡实战:让分布式任务调度更智能
  • 灵敏度,精度,精确度,精密度,精准度,准确度,分辨率,分辨力——概念