528:Halcon图像控件 启动轴状态实时监控

Halcon图像控件

Halcon 图像控件是德国 MVTec 公司为C#/.NET 平台提供的专用图像显示容器,本质是封装了 Halcon 底层渲染引擎的 UI 控件,能在 WPF/WinForms 界面中直接显示和操作 Halcon 处理后的图像。

二、核心作用:5 大工业级能力

1. 🖼️ 图像显示:工业视觉的 "眼睛"

核心功能:显示 Halcon 处理后的图像(灰度图、彩色图、深度图等)

项目应用:

csharp 复制代码
_halconWinFormsControl.HalconWindow.DispObj(enhanceImage); // 显示增强后的X光图像

为什么必须用它:普通 WPF 控件无法直接显示 Halcon 的HImage对象,这是官方唯一的图像显示通道。

2. 🎨 图形绘制:检测结果的 "标注器"

核心功能:在图像上绘制矩形、圆形、文字、区域等,直观展示检测结果

项目应用:

csharp 复制代码
_halconWinFormsControl.HalconWindow.SetColor("green"); // 设置颜色
_halconWinFormsControl.HalconWindow.DispRectangle1(120, 120, 380, 680); // 绘制检测框

工业价值:缺陷位置、ROI 区域、测量结果可视化,方便操作员判断。

3. ⚙️ 图像处理联动:算法与显示的 "桥梁"

核心功能:无缝衔接 Halcon 算法(去噪、增强、阈值分割等),实时显示处理结果

项目应用:

csharp 复制代码
smoothImage = rawImage.MeanImage(3, 3); // 去噪算法
enhanceImage = smoothImage.ScaleImage(1.5, 0); // 对比度增强
_halconWinFormsControl.HalconWindow.DispObj(enhanceImage); // 显示处理后图像

关键优势:无需手动转换图像格式,算法输出直接显示,效率极高。

4. 📊 状态反馈:操作过程的 "可视化日志"

核心功能:实时显示处理进度、状态信息,辅助操作决策

项目应用:

点位扫描到位后显示图像

连续扫描时每 200ms 刷新一次图像

限位报警时显示报警信息

工业价值:操作员能直观看到设备状态,及时发现异常。

5. 🛡️ 资源管理:内存安全的 "守护者"

核心功能:自动管理 Halcon 窗口资源,避免内存泄漏

项目应用:控件销毁时自动释放HalconWindow,无需手动调用CloseWindow

关键提醒:绝对不要手动调用OpenWindow(控件已自动初始化),否则会报参数错误。

三、在你的 X 光检测系统中:不可替代的核心地位

1. 程序启动时的初始化

csharp 复制代码
public MainViewModel(HWindowControl halconControl)
{
    _halconWinFormsControl = halconControl; // 绑定控件,必须传入
    Loading(); // 初始化完成后显示"已就绪"
}

作用:没有这个控件,整个视觉系统就是 "瞎子",无法显示任何 X 光图像。

2. 核心功能的唯一出口

你的ShowXrayImage()方法是所有图像显示的唯一入口,而它的核心就是:

csharp 复制代码
_halconWinFormsControl.HalconWindow.ClearWindow(); // 清屏
_halconWinFormsControl.HalconWindow.DispObj(enhanceImage); // 显示图像

覆盖场景:

测试图像按钮 → 直接调用

点位扫描到位 → 自动调用

连续扫描移动中 → 循环调用

3. 安全机制的可视化保障

急停、限位报警时,通过控件显示报警状态,让操作员一眼看到问题:

csharp 复制代码
_halconWinFormsControl.HalconWindow.ClearWindow();
_halconWinFormsControl.HalconWindow.DispText("限位报警", "window", 12, 12, "red");

启动轴状态实时监控

3 个核心作用

1. 实时 UI 显示(仪表盘功能)

你界面上的这行文字:

轴状态:运行中|X:50.0 Y:0.0

就是这个方法每 200ms 刷新出来的。

没有它,界面上的轴坐标 / 状态永远不会变。

2. 安全保护(保镖功能)→ 工业设备最重要

轴如果一直往前走,会撞坏机械结构!

这个方法实时盯着限位开关:

一旦触发 LimitAlarm(超范围)

自动调用急停 EmergencyStop()

立刻停机,保护设备

3. 联动业务逻辑

点位扫描:判断轴是否到位 → 触发采图

连续扫描:实时获取轴位置 → 计算进度条

报警 / 复位:联动界面状态切换

相关推荐
czhc11400756632 天前
5.27 :工业设备检测模式与安全防护详解
安全·mvvm·视觉·运控
czhc11400756633 天前
525:检测完善
mvvm·视觉
学不懂飞行器4 天前
【电赛保姆级教程】电赛视觉怎么选?怎么调?从OpenMV到边缘计算硬核避坑指南(附高鲁棒通信源码)
人工智能·stm32·边缘计算·电赛·视觉
czhc11400756635 天前
2026.5.24 检测流程mvvm
mvvm
czhc11400756635 天前
523:MVVM 检测业务
视觉
czhc11400756636 天前
ICommand 视觉、运控522
视觉
czhc11400756638 天前
视觉521 halcon24.05 测试
视觉
时光追逐者19 天前
2026 年 .NET 客户端常用 MVVM 框架推荐
c#·.net·mvvm·.net core
夏莉莉iy21 天前
[ICCV 2023]Scalable Diffusion Models with Transformers
人工智能·深度学习·transformer·图像·扩散模型·视觉·dit