Halcon与C#联合编程(二)

Halcon与C#联合编程(二)

2022更新:
未想到该篇文章对大家造成困扰,该dll仅支持Halcon12版本。若使用Halcon13及以上,强烈建议使用HSmartWindowControl进行图像的显示   

在上篇博客中写了一点点基础的C#与Halcon联合编程的历程代码,很多东西都未详细讲解和介绍,本文将针对自己刚学时遇到的一些问题点,网上介绍较少的一些知识进行讲解。

一、如何在C#中的halcon窗口进行交互。

halcon中的图形窗口是通过 hWindowControl.HalconWindow 在C#中进行的图像的显示,但是其交互并不能像halcon中那么自如,尤其一些常用的功能,比如通过滚轮放大缩小,拖动图像,在控件上画多个ROI区域等。下面将使用一种其他的接口(非本人所写,在ihalcon.com论坛中获取的开源资源),但依旧是halcon图像接口,实现上述基本功能。接口已封装为dll,下载网址如下:

http://download.csdn.net/download/qizijuesha/9940985

    首先引用该dll,资源管理器右键添加引用,然后将该dll添加到选项卡中(即左侧的工具箱中),在界面编辑器下点击左侧工具箱,下拉到最后有一个常规选项卡,右键空白处->选择项,找到刚才下载的dll,双击添加,会发现选项卡中多了一个工具,该工具即为要显示图像窗口的控件,然后将该控件拖至Form界面。该控件句柄通常为 hWindow_Final。

自己写代码的习惯性定义,先在类中生命句柄

private HTuple hv_WindowHandle

窗口初始化时同时将该句柄初始化

hv_WindowHandle = hWindow_Final.HWindowHalconID;

从本地或者相机直接获取图片,然后就可以通过该控件进行显示

hWindow_Final2.ClearWindow();

hWindow_Final2.HobjectToHimage(Ocr_image);

显示之后在控件点击右键,会出现右键菜单栏,可以保存图片,自适应窗口等,也可直接保存窗口图,可实时显示图像的坐标与灰度值。

若要在窗口中显示多个ROI,可以在窗口显示图片后,不做清除操作,每画出一个ROI,再roi显示在窗口上即可

            

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值