目录
1、环境配置
1.1 创建文件
1.2 添加halcon引用(路径halcon的安装目录中的C:\Program Files\MVTec\HALCON-19.11-Progress\bin\dotnet35 选取halcondotnet.dll文件),如下图以添加成功
1.3 添加halcon图像控件(如果先安装halcon,后安装vs,vs中是没有halcon的窗体控件的)
HWindowControl:早期版本,运行机制把控件的handl传递给vs,让vs进行原生态绘制,效率稍高;
HSmartWindowControl:halcon13版本后提供,运行机制在后台打开halcon窗口,然后把halcon窗口截图显示在vs里面;效率比hw慢,但多了UI交互的功能。
1.4 运行环境修改
2、显示图像
2.1 添加控件button,HWindowControl(根据需求对应选择控件类型)
2.2 然后双击点击button进入事件添加以下代码,运行即可成功
//控件hWindowControl(固定)
HObject ho_Image;
HOperatorSet.ReadImage(out ho_Image, @"C:\PTT\Image\board-01");
hWindowControl1.HalconWindow.DispObj(ho_Image);
//控件hSmartWindowControl(可拖拉,及拉伸)
HObject ho_Image;
HOperatorSet.ReadImage(out ho_Image, @"C:\PTT\Image\board-19");
hSmartWindowControl1.HalconWindow.DispObj(ho_Image);
3、选择文件打开图像
代码:
HObject ho_Image;
string ImagePath;
var dialog = new OpenFileDialog();
dialog.Filter = "JPEG文件|*.jpg*|BMP文件|*.bmp*|PNG文件|*.png*";
dialog.RestoreDirectory = true;
HOperatorSet.GenEmptyObj(out ho_Image);
if (dialog.ShowDialog() == DialogResult.OK)
{
ImagePath = dialog.FileName;
//读取图片
HOperatorSet.ReadImage(out ho_Image, ImagePath);
hSmartWindowControl1.HalconWindow.DispObj(ho_Image);
//设置让其图像适应控件大小(等比例缩放不失真)
hSmartWindowControl1.SetFullImagePart();
ho_Image.Dispose();
}
番外+
var关键字介绍:c#3.5新增的特性,称为推断类型(弱类型)
由var声明的变量,编译器会根据上下文来判断类型。也就是说当你无法确定自己将使用什么类型时,就可以使用var,var类似于object,效率会比object稍高。
使用建议:过度的使用var关键字定义变量会使源代码难以理解。只有在有必要的时候,才推荐使用var关键字。如:当变量用来存储一个匿名类型或者匿名类型集合的时候【var dialog = new OpenFileDialog();】。