当前位置: 首页 > 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.lryc.cn/news/607370.html

相关文章:

  • Java 日期时间处理:分类、用途与性能分析
  • 前端学习日记(十七)
  • Ant 构建java项目
  • FastDDS (SharedMemory)
  • webpack面试题及详细答案80题(41-60)
  • C++ 前缀和、双指针
  • Node.js中Buffer的用法
  • 嵌入式第十七课!!!!位运算!!!
  • 考取锅炉司炉工证需要学习哪些专业知识?
  • Linux 用户与组管理:从配置文件到实操命令全解析
  • golang的函数
  • YOLO V11 + BotSort行人追踪定位项目
  • 风光储并离网切换仿真模型(下垂控制一次调频)
  • 详解K8s集群搭建:从环境准备到成功运行
  • 【问题思考总结】CART树如何剪枝?从CART树的生成到剪枝以及为什么CTt一定小于Ct?【图文】
  • 在多租户或多服务共享 Redis 时,如何做逻辑隔离或权限控制?
  • 【数据结构】-----排序的艺术画卷
  • ESD监控系统确保工厂生产设备的静电安全
  • 浏览器【详解】内置Observer(共五种,用于前端监控、图片懒加载、无限滚动、响应式布局、生成安全报告等)
  • cesium FBO(四)自定义相机渲染到Canvas(离屏渲染)
  • 开源工具FossFLOW,绘制技术图表
  • 嵌入式GPU图像渲染工具全景实用指南(i.MX8MP平台)
  • Python深度解析与爬虫进阶:从理论到企业级实践
  • ubuntu 镜像克隆
  • Git 实现原理剖析
  • 【编号394】阿姆河流域土地利用分布数据(1990-2015)
  • 智能问数系统的调研
  • 【工具分享】模拟接口请求响应的Chrome插件ModResponse
  • 什么是doris
  • 第七章 愿景12 小萍分享《人性的弱点》