halcon联合c#编程之窗体移动鼠标显示图像灰度值和图像坐标

在技术员操作上位机过程中,往往需要了解当前图像鼠标指定点的灰度值和坐标信息,为下一步图像处理打好基础, 现分享c#联合halcon编程中显示图片灰度值和坐标值信息的方法,流程如下:.
1.加载控件
将c#编程界面左侧工具箱中的HWindowControl控件拖入指定区域,如下图,HWindowControl的加载方式自行学习;

halcon联合c#编程之窗体移动鼠标显示图像灰度值和图像坐标

2.添加一个打开图像控件
添加打开图像控件用于测试;

halcon联合c#编程之窗体移动鼠标显示图像灰度值和图像坐标

3.在打开图像中添加方法
添加打开图像的方法用于打开图像测试;

halcon联合c#编程之窗体移动鼠标显示图像灰度值和图像坐标

添加HMouseMove事件,将鼠标当前的位置坐标赋值给text,提取当前的像素值赋值给text;将text显示在UI界面上;

halcon联合c#编程之窗体移动鼠标显示图像灰度值和图像坐标

4.最后我们来测试一下
测试效果见下图,打开图像,鼠标点击图像窗口,右下角显示鼠标的像素坐标和灰度值;

halcon联合c#编程之窗体移动鼠标显示图像灰度值和图像坐标

显示图像灰度值和图像坐标源码如下:
 private void HSmartWindow_HMouseMove(object sender, HMouseEventArgs e)        {                HTuple Row = (int)e.Y;                HTuple Column = (int)e.X;                HOperatorSet.GetImageSize(Image, out HTuple W, out HTuple H);                if ((Row >= 0) && (Row < H) && (Column >= 0) && (Column < W))                {                    HOperatorSet.GetGrayval(Image, Row, Column, out HTuple GrayValue);                    LB_Gray_Value.Text(根据实际控件修改) = $"Row:{Row.D.ToString("0")} Column:{Column.D.ToString("0")} Val:{GrayValue.D.ToString("0")}";                }}