QQ登录

只需一步,快速开始

8.1 halcon 与c#联合使用

[ 复制链接 ]

一般我们在halcon中编写好算法后,都会导出到c++或c#中调用。
这里随意导出一个halcon中的例程,演示在c#中使用导出的代码
首先是将halcon中已好的代码做导出工作
菜单栏:文件->导出

halcon 与c#联合使用

halcon 与c#联合使用

弹出的窗口选择C#格式,并点击<导出>

halcon 与c#联合使用

halcon 与c#联合使用


导出后,会在导出的目录生成一默认文件unnamed.cs。
下面
0.创建一个基于WINDOWS窗体的C#工程。
1.添加halcon引用:
点击工程,鼠标右键-》添加引用

halcon 与c#联合使用

halcon 与c#联合使用

选中halcondotnet.dll后,点击确认按钮

halcon 与c#联合使用

halcon 与c#联合使用

这样就成功添加了halcon引用

halcon 与c#联合使用

halcon 与c#联合使用


2.添加halcon窗口控件,主要用于显示图片。
打开工具箱:菜单栏->视图-》工具箱; 或快捷键 alt+ctr +x;
在工具条任意位置,鼠标右键-》选择项,弹出窗口时保持默认,点击右下角浏览按钮
浏览halcon安装目录,例如D:\Program Files\MVTec\HALCON-17.12-Progress\bin\dotnet35,
选择halcondotnet.dll,并确认。生成如下两选项。

halcon 与c#联合使用

halcon 与c#联合使用

确认后,工具箱多出两控件

halcon 与c#联合使用

halcon 与c#联合使用


将Hwindowcontrol拖拽到窗口,并添加一按钮及按钮的点击函数

halcon 与c#联合使用

halcon 与c#联合使用


3.使用刚才 导出的文件unnamed.cs
打开此文件,复制using HalconDotNet;到自己程序中。
找到action函数,复制代码到按钮点击函数体内。

4.编译
如果幸运,一切OK!直接运行程序。
如果不幸运,一般会提示错误
警告        2        当前的目标框架“.NETFramework,Version=v4.0,Profile=Client”
未包含引用的程序集“halcondotnet”所依赖的“System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”。
这会导致无法解析引用的程序集。
若要解决此问题,请 (1) 更改此项目的目标框架,或者 (2) 从此项目中删除引用的程序集。        
WindowsFormsApplication1


错误        15        当前上下文中不存在名称“HDevWindowStack”        
C:\Users\baikhgmv\Desktop\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs        36        
17        WindowsFormsApplication1


如上的错误很显示:当前的目标框架不匹配,项目属性,进行更改便可

halcon 与c#联合使用

halcon 与c#联合使用


另外,halcon有32位和64位之分,运行遇到如下错误时

halcon 与c#联合使用

halcon 与c#联合使用


请将目标平台修改匹配。

halcon 与c#联合使用

halcon 与c#联合使用


另外运行程序时,如果图片未在控件上显示,做如下修改
HOperatorSet.OpenWindow(0, 0, 512, 512, hWindowControl1.HalconWindow, "visible", "", out hv_WindowID);
也就是修改hv_WindowID父窗口句柄为hWindowControl1.HalconWindow
运行效果如下

halcon 与c#联合使用

halcon 与c#联合使用


注:当前是win10 64位系统下使用VC2010,
halcon版本为17.2.   64位。
例程下载
请点击此处下载

查看状态:已购买或有权限

您的用户组是:游客

文件名称:WindowsFormsApplication1.rar 
文件大小:16.38 KB 
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我



回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索