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

通用视觉工具模块-打散模块-3-后端实现

通用视觉工具模块-打散模块-3-后端实现

一 执行和确认命令

/// <summary>/// 执行命令/// </summary>[NonSerialized]privateCommandBase_ExecuteCommand;publicCommandBaseExecuteCommand{get{if(_ExecuteCommand==null){_ExecuteCommand=newCommandBase((obj)=>{ExeModule();});}return_ExecuteCommand;}}/// <summary>/// 确认/// </summary>[NonSerialized]privateCommandBase_ConfirmCommand;publicCommandBaseConfirmCommand{get{if(_ConfirmCommand==null){_ConfirmCommand=newCommandBase((obj)=>{varview=this.ModuleViewasThresholdView;// 关闭界面if(view!=null){view.Close();}});}return_ConfirmCommand;}}

二 链接命令

/// <summary>/// 参数变化回调函数/// </summary>/// <param name="obj"></param>privatevoidOnVarChanged(VarChangedEventParamModelobj){switch(obj.SendName.Split(',')[1]){case"InputRegionLink":InputRegionLinkText=obj.LinkName;break;default:break;}}[NonSerialized]privateCommandBase_LinkCommand;publicCommandBaseLinkCommand{get{if(_LinkCommand==null){//以GUID+类名作为筛选器EventMgr.Ins.GetEvent<VarChangedEvent>().Subscribe(OnVarChanged,o=>o.SendName.StartsWith($"{ModuleGuid}"));_LinkCommand=newCommandBase((obj)=>{eLinkCommandlinkCommand=(eLinkCommand)obj;switch(linkCommand){caseeLinkCommand.InputRegionLink:// 获取当前模块之前的所有可获得的HImage参数CommonMethods.GetModuleList(ModuleParam,VarLinkViewModel.Ins.Modules,"object");// 链接选择框EventMgr.Ins.GetEvent<OpenVarLinkViewEvent>().Publish($"{ModuleGuid},InputRegionLink");break;default:break;}});}return_LinkCommand;}}

三 加载显示窗口

[NonSerialized]VMHWindowControlmWindowH;
/// <summary>/// 加载函数/// </summary>publicoverridevoidLoaded(){base.Loaded();varview=ModuleViewasConnectionView;if(view!=null){ClosedView=true;// 加载halcon显示控件if(view.mWindowH==null){view.mWindowH=newVMHWindowControl();view.winFormHost.Child=view.mWindowH;}// 二次打开复原操作if(DispImage!=null&&DispImage.IsInitialized()){ShowHRoi();}}}

四 显示结果

/// <summary>/// 显示结果/// </summary>publicvoidShowRes(){if(ConnectedRegions!=null&&ConnectedRegions.IsInitialized()){// 添加到mHRoi中ShowHRoi(newHRoi(ModuleParam.ModuleEncode,ModuleParam.ModuleName,ModuleParam.Remarks,HRoiType.检测结果,"green",newHObject(ConnectedRegions),true));}varview=ModuleViewasConnectionView;// 如果当前窗口已关闭,则显示主界面窗口if(view==null||view.IsClosed){mWindowH=ViewDic.GetView(DispImage.DispViewID);}// 否则显示对应view里面的窗口else{mWindowH=view.mWindowH;}List<HRoi>roiList=mHRoi.Where(c=>c.ModuleName==ModuleParam.ModuleName).ToList();foreach(HRoiroiinroiList){if(roi.roiType==HRoiType.文字显示){HTextroiText=(HText)roi;ShowTool.SetFont(mWindowH.hControl.HalconWindow,roiText.size,"false","false");ShowTool.SetMsg(mWindowH.hControl.HalconWindow,roiText.text,"image",roiText.row,roiText.col,roiText.drawColor,"false");}else{mWindowH.WindowH.DispHobject(roi.hobject,roi.drawColor,roi.IsFillDisp);}}}

添加输出

publicoverridevoidAddOutputParams(){base.AddOutputParams();AddOutputParam("打散区域","HObject",ConnectedRegions);}
http://www.jsqmd.com/news/1036605/

相关文章:

  • Claude 3.5 Sonnet实战指南:代码生成与RAG优化
  • 广州黄金回收价格影响因素盘点,优质变现渠道测评参考 - 奢品小当家
  • JMeter性能测试实战指南:从核心概念到分布式压测与结果分析
  • 5分钟快速上手洛雪音乐音源:免费解锁全网无损音乐的终极指南
  • 豆包提示词四步转化法:从模糊需求到可执行AI协作协议
  • 嘉兴三三装饰十年深耕本地,公寓 LOFT 全屋装修一站式全解析 地址:浙江省嘉兴市南湖区城南街道文昌路月星家居商场四楼三三装饰 - 速递信息
  • LSTM假新闻识别器:轻量、可解释、可落地的实战方案
  • 151、多摄同时工作的平台资源管理:ISP 实例、MIPI 带宽与 DDR 带宽分配
  • PowerPC指令集架构解析与MPC857T处理器应用实践
  • 青岛闲置黄金怎么出手?实地探访全城正规黄金回收门店 - 奢侈品回收测评
  • Pytest+YAML数据驱动:构建高效可维护的接口自动化测试框架
  • 如何快速掌握缠论分析:面向投资者的完整实战指南
  • 2026年数据资产可视化平台厂商推荐,支持实时监控与决策辅助 - 品牌2026
  • HIS医院信息系统:3分钟掌握开源医疗管理系统的完整部署指南
  • 杭州黄金回收去哪里靠谱?选店避坑全指南 - 奢侈品回收评测
  • 2026年大型集团资产全生命周期管理系统推荐,价值最大化实践路径 - 品牌2026
  • 企业3A认证有什么用?办理流程是什么?【超全盘点】 - 叮咚办真方便
  • 嵌入式实时系统开发:软件定时器、硬件抽象层与L1防御机制详解
  • 地理空间机器学习实战:GEE平台上的遥感影像分类原理与落地
  • 2026水肥一体化设备哪家好?5 家主流厂家全维度实测对比 - 起跑123
  • Web自动化测试实战:Python+Selenium+Pytest从入门到框架搭建
  • 如何分辨一个 Fiori 应用是 SAP UI5 原生开发的,还是运行在浏览器里的套壳 SAPGUI 事务码应用?
  • MiniMax ABAB系列模型技术解析与工程实践指南
  • 2026 年 6 月神舟官方售后维修服务中心地址核验报告(全国版) - GrowthUME
  • HarmonyOS 6.1.1 智能影像与 MIDI 音频创作:Camera Kit 和 Audio Kit 怎么落地?
  • 石家庄莫奈回收哪家正规?小白回收完整实操指南 - 奢侈品回收测评
  • 面试官不会说的Java面试潜规则:避开这10个坑就能加分!
  • 深入解析PowerQUICC SCC异步HDLC与BISYNC协议栈硬件加速原理与实战
  • 国内做得好的海参袋企业口碑推荐,纹路袋/中封袋/共挤袋/三边封袋/拉伸膜/八边封袋/自立拉链袋,海参袋生产厂家哪家专业 - 品牌推荐师
  • AI能不能在十年内替代教师?一个研发总监的架构师视角拆解