C#联合halcon打开图像

目录

1、环境配置

2、显示图像

3、选择文件打开图像


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();】。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值