C#与Halcon联合编程

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

这里写图片描述
这里写图片描述

重新运行程序,然后点击读取图像的控件 (可以适当调整窗口的属性,让图像显示完全);
这里写图片描述

到此,环境算是配置好了。

发布了38 篇原创文章 · 获赞 29 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/ruotianxia/article/details/81638552