C#与Halcon联合编程
本人所使用的软件版本为:Windows10 + VS2013 + Halcon 17.12:
第一步:配置环境 参考网址:https://blog.csdn.net/u010274659/article/details/79989234
配置环境变量:Path
第二步:VS2013新建C# Windows窗体应用程序,然后点击左侧工具箱,在“所有Windows窗体”上,右键,选择“选择项”,点浏览,找到安装目录C:\Program Files\MVTec\HALCON-17.12-Progress\bin\dotnet35 ,选择里面的halcondotnet.dll 打开 ,即可添加到工具箱内。添加好之后,工具箱内出现HWindowControl的控件。
第三步:将安装目录dotnet35文件夹内的halcondotnet.dll 和x64-win64文件夹下的halcon.dll放到工程文件夹bin下。
第四步: 添加halcondotnet.dll库引用,dll已经放在了工程内,直接浏览打开即可。
来一个实例
参考网址:https://blog.csdn.net/qq_14844633/article/details/50901031
1、在Halcon中编写一个简单的代码,读取一张图像
dev_close_window()
read_image (BrakeDiskBike01, 'C:/Users/Administrator/Desktop/298198.jpg')
get_image_size(BrakeDiskBike01, Width, Height)
dev_open_window(0, 0, Width/1.2, Height/1.22, 'black', WindowHandle)
dev_display(BrakeDiskBike01)
2、导出halcon代码(文件->导出)
3、VS2013新建C# Windows窗体应用程序,然后点击左侧工具箱,找到HWindowControl,双击或者拖拽都可以,可以自己加一个Button控件。
4、将导出的.cs文件中的HdevelopExport类添加到项目中的namespace中;添加到新建项目的下面文件中:
别忘了加引用,using HalconDotNet.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using HalconDotNet;
namespace HalconProject2
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
public partial class HDevelopExport
{
public HTuple hv_ExpDefaultWinHandle;
// Main procedure
private void action()
{
// Local iconic variables
HObject ho_BrakeDiskBike01;
// Local control variables
HTuple hv_Width = null, hv_Height = null;
// Initialize local and output iconic variables
HOperatorSet.GenEmptyObj(out ho_BrakeDiskBike01);
//dev_close_window(...);
ho_BrakeDiskBike01.Dispose();
HOperatorSet.ReadImage(out ho_BrakeDiskBike01, "C:/Users/Administrator/Desktop/298198.jpg");
HOperatorSet.GetImageSize(ho_BrakeDiskBike01, out hv_Width, out hv_Height);
//dev_open_window(...);
HOperatorSet.DispObj(ho_BrakeDiskBike01, hv_ExpDefaultWinHandle);
ho_BrakeDiskBike01.Dispose();
}
public void InitHalcon()
{
// Default settings used in HDevelop
HOperatorSet.SetSystem("width", 512);
HOperatorSet.SetSystem("height", 512);
}
public void RunHalcon(HTuple Window)
{
hv_ExpDefaultWinHandle = Window;
action();
}
}
}
然后,双击控件,添加下列代码:
点击运行,会出现下面的错误:
解决方法:在配置管理器中将平台新建为 ×64
重新运行程序,然后点击读取图像的控件 (可以适当调整窗口的属性,让图像显示完全);
到此,环境算是配置好了。