1.新建一个Windows窗体应用程序,命名为Demo
2.添加Halcon组件
右键引用 -> 选择添加引用:
选择浏览:
在你自己Halcon的安装路径下,找到bin/dotnet35/,选择halcondotnet.dll文件,点击确定:
确定后,会在解决方案下引用列表中找到我们刚刚添加的halcon组件:
3.更改框架
右键工程 -> 属性,打开属性设置:
这里单击目标框架下拉框,如果目标框架是.NET Framework 4 Client Profile,需点击下拉框将其改为.NET Framework 4。否则可能会报错:warning MSB3253: 未能解析引用的程序集“halcondotnet”,因为它对不在当前目标框架“.NETFramework,Version=v4.0,Profile=Client”中的“System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”具有依赖关系。请删除对不在目标框架中的程序集的引用,或考虑重新确定项目的目标。
4.添加halcon的窗口控件
右键工具箱 -> 选择项:
弹出一个选择工具项项对话框,点击浏览按钮:
在你自己halcon安装目录下的/bin/dotnet35/文件加下,添加halcondotnet.dll组件:
然后.NET Framework组件中就会自动添加上HSmartWindowControl和HWindowControl两个组件,点击确定:
此时,工具箱 - > 常规选项中就会出现两个添加的halcon窗口控件:
这里,我们选择HWindowControl窗口控件在主窗口中拖出一个窗口,同时添加两个按键:
5.下一步,我们从Hdevelp中导出已经写好的Halcon程序。
这里用halcon中自带的例程lines_gauss为例:
在HDevelop中打开程序lines_gauss,点击文件 -> 导出,按照下图的配置选项进行选择:
右键Demo工程,添加 -> 现有项,找到刚刚我们导出的lines_gauss.cs文件,并点击确定:
6.打开lines_gauss.cs文件,修改部分代码如下:
public void RunHalcon(HTuple Window, HObject srcImage)
{
hv_ExpDefaultWinHandle = Window;
action(srcImage);
}
private void action(HObject ho_srcImage)
{
// ho_Angio.Dispose(); // 注释掉这两句
// HOperatorSet.ReadImage(out ho_Angio, "angio-part");
ho_Angio = ho_srcImage;
}
7.打开主程序,添加引用,using HalconDotNet; 同时添加以下的按钮事件代码:
private HObject ho_srcImage = null;
private HDevelopExport m_objHalcon = new HDevelopExport();
private void m_btn_Load_Click(object sender, EventArgs e)
{
HTuple hv_Height = 0, hv_Width = 0;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
HOperatorSet.ReadImage(out ho_srcImage, (HTuple)openFileDialog1.FileName);
HOperatorSet.ClearWindow(hWindowControl1.HalconWindow);
HOperatorSet.GetImageSize(ho_srcImage, out hv_Width, out hv_Height);
HOperatorSet.SetPart(hWindowControl1.HalconWindow, 0, 0, hv_Height - 1, hv_Width - 1);
HOperatorSet.DispObj(ho_srcImage, hWindowControl1.HalconWindow);
}
}
private void m_btn_Run_Click(object sender, EventArgs e)
{
if (ho_srcImage != null)
{
m_objHalcon.RunHalcon(hWindowControl1.HalconWindow, ho_srcImage);
}
}
8.保存并运行程序,点击加载图片按钮,图像处理按钮
选择C:\Users\Public\Documents\MVTec\HALCON-17.12-Progress\examples\images下的angio-part.png图片:
点击图像处理按钮,最终的处理结果如下图所示:
附完整工程的下载链接:
https://download.csdn.net/download/integralforlove/10834942