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

通用视觉工具模块-直接阈值分割模块-2-UI设计

通用视觉工具模块-直接阈值分割模块-2-UI设计

一 链接图像

xmlns:vm="clr-namespace:Plugin.Threshold.ViewModels"

UI

<Border Grid.Row="0"><ExpanderHeader="图像链接"IsExpanded="True"><StackPanelHorizontalAlignment="Center"><StackPanelOrientation="Horizontal"Margin="5 0"><TextBlockText="输入图像"HorizontalAlignment="Center"VerticalAlignment="Center"/><TextBoxHorizontalAlignment="Center"VerticalAlignment="Center"BorderThickness="0 0 0 1"Width="200"Margin="5 0"IsReadOnly="True"Style="{StaticResource LinkTextBox}"Text="{Binding InputImageLinkText}"mah:TextBoxHelper.LinkButtonCommand="{Binding LinkCommand,Mode=OneWay}"mah:TextBoxHelper.LinkButtonCommandParameter="{x:Static vm:eLinkCommand.InputImageLink}"/></StackPanel></StackPanel></Expander></Border>

后端

publicenumeLinkCommand{InputImageLink,}
privatestring_InputImageLinkText;/// <summary>/// 输入图像链接文本/// </summary>publicstringInputImageLinkText{get{return_InputImageLinkText;}set{Set(ref_InputImageLinkText,value);}}

halcon显示控件加载

[NonSerialized]privateRImage_DispImage;publicRImageDispImage{get{return_DispImage;}set{_DispImage=value;}}
/// <summary>/// 加载函数/// </summary>publicoverridevoidLoaded(){base.Loaded();varview=ModuleViewasThresholdView;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>/// <param name="obj"></param>privatevoidOnVarChanged(VarChangedEventParamModelobj){switch(obj.SendName.Split(',')[1]){case"InputImageLink":InputImageLinkText=obj.LinkName;// 获取图像到全局变量并显示图像GetDispImage(InputImageLinkText,true);break;default:break;}}

二 阈值参数设置

UI

<Border Grid.Row="1"><GroupBoxHeader="阈值分割参数"Grid.Row="1"><StackPanelOrientation="Vertical"Margin="5 0"><StackPanelOrientation="Horizontal"Margin="10 8"><TextBlockText="开始:"VerticalAlignment="Center"HorizontalAlignment="Center"Width="90"/><mah:NumericUpDownWidth="200"BorderThickness="0 0 0 1"Value="{Binding StartThre}"/></StackPanel><StackPanelOrientation="Horizontal"Margin="10 8"><TextBlockText="结束:"VerticalAlignment="Center"HorizontalAlignment="Center"Width="90"/><mah:NumericUpDownWidth="200"BorderThickness="0 0 0 1"Value="{Binding EndThre}"/></StackPanel></StackPanel></GroupBox></Border>

后端

privateint_StartThre=128;/// <summary>/// 起始阈值/// </summary>publicintStartThre{get{return_StartThre;}set{Set(ref_StartThre,value);}}privateint_EndThre=255;/// <summary>/// 结束阈值/// </summary>publicintEndtThre{get{return_EndThre;}set{Set(ref_EndThre,value);}}
http://www.cnnetsun.cn/news/2957956.html

相关文章:

  • [智能体-440]:Coze:数据库表和RAG向量数据库在工作流中各自的作用异同对比
  • 3步掌握本地Cookie导出:Get cookies.txt LOCALLY完全指南
  • MCE SIG发布4款MD模拟流程核心算子,补齐分子动力学模拟主循环
  • 新开账号|唐山日常慢慢记录
  • Java中用DJL实现像素级语义分割的工程实践
  • Claude Code变懒真相:adaptive thinking机制与工程级复位方案
  • 小米AI模型实践:从MiLM大模型到端侧部署技术解析
  • 别白费功夫!你的投标业绩,大概率都是无效材料
  • 鹈鹕骑车图:大模型多模态能力的具象化评估框架
  • 生产级多维聚合:滚动窗口、自定义函数与unstack健壮性实战
  • 机器学习实验追踪:构建可复现、可审计的ML工程化基础
  • AI 视频智能体源码交付:一套能直接跑通“爆款→批量成片“的工程级方案
  • GPT-4o原生多模态架构解析:232ms低延迟跨模态交互实现原理
  • 【计算机毕业设计案例】基于 Python+Django 的学生请假事务可视化管理系统的设计与实现 基于 Python+Django 的大学生请假审批数据可视化系统(程序+文档+讲解+定制)
  • 终极指南:如何用openpilot将普通汽车秒变智能座驾
  • 猫抓浏览器扩展:三分钟掌握网页媒体资源一键下载
  • SMUDebugTool终极指南:免费解锁Ryzen处理器性能潜力的完整教程
  • 正则化实战指南:从过拟合诊断到L1/L2/Elastic Net调参
  • 如何用Elsevier Tracker免费自动化监控学术投稿进度:终极指南
  • LangChain Pandas Agent实战:用确定性执行替代LLM幻觉分析
  • 如何高效使用B站抽奖自动化脚本:3步配置的完整指南
  • pandas多维聚合实战:解决银行风控与财务报表中的指标失真问题
  • SERUM水印技术:扩散模型版权保护的创新方案
  • 豆包AI实战指南:从搜索写作到编程的高效工作流
  • 瓶盖缺陷检测数据集| 3800张YOLO工业质检数据集 适用于工业流水线质检、自动化分拣与目标检测研究
  • DSP56800E嵌入式调试实战:CodeWarrior与EOnCE高级功能详解
  • 国产大模型科研实战:Qwen3/GLM-4/DeepSeek-R1文献精读与英文润色全链路
  • JupyterLab Desktop完整指南:数据科学家的终极桌面工具
  • DC靶场2实战指南:从渗透测试到企业内网攻防演练
  • 百度网盘解析工具:3步获取高速下载链接,告别限速烦恼