C#(VS2010)调用HALCON12

转载 2018年04月17日 10:05:21

1、使用HDevelop编写代码:

	
dev_close_window ()
read_image (Image, 'E:/图库/abc.jpg')
rgb1_to_gray(Image,GrayImage)
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)


2、导出HALCON代码

选择HDevelop菜单栏中的“文件---->导出”,导出类型设为:C#-HALCON/.NET;选择导出到F盘中导出的文件为:sa.cs。


其导出的sa.cs代码为:

//
//  File generated by HDevelop for HALCON/DOTNET (C#) Version 12.0
//
//  This file is intended to be used with the HDevelopTemplate or
//  HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c#


using System;
using HalconDotNet;


public partial class HDevelopExport
{
  public HTuple hv_ExpDefaultWinHandle;


  // Main procedure 
  private void action()
  {




    // Local iconic variables 


    HObject ho_Image, ho_GrayImage;


    // Local control variables 


    HTuple hv_Width = null, hv_Height = null;
    // Initialize local and output iconic variables 
    HOperatorSet.GenEmptyObj(out ho_Image);
    HOperatorSet.GenEmptyObj(out ho_GrayImage);


    //dev_close_window(...);
    ho_Image.Dispose();
    HOperatorSet.ReadImage(out ho_Image, "E:/图库/abc.jpg");
    ho_GrayImage.Dispose();
    HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);
    HOperatorSet.GetImageSize(ho_GrayImage, out hv_Width, out hv_Height);
    //dev_open_window(...);
    HOperatorSet.DispObj(ho_GrayImage, hv_ExpDefaultWinHandle);
    ho_Image.Dispose();
    ho_GrayImage.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();
  }


}



3、c#调用HALCON导出的程序

(1)新建一个C#应用窗体程序

(2)添加halcondotnet.dll文件到引用中,并将halconwindow添加至工具箱;
引用-添加引用-(找到halcon中的halcondotnet.dll进行添加)

其目录为:D:\Program Files\MVTec\HALCON-12.0\bin\dotnet35


(3)在工具箱中添加halconWindow控件

打开工具箱,在空白处右键-选择项-浏览,选择下边文件

(4)在Form1窗口添加一个button和halconWindow控件(工具箱中找halcon图标).

(5)在Form1.cs中代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using HalconDotNet; 	//引入Halcon空间

namespace HALCON2
{
    /*以下复制于sa.cs*/
    public partial class HDevelopExport
    {
        public HTuple hv_ExpDefaultWinHandle;

        // Main procedure 
        private void action()
        {



            // Local iconic variables 

            HObject ho_Image, ho_GrayImage;

            // Local control variables 

            HTuple hv_Width = null, hv_Height = null;
            // Initialize local and output iconic variables 
            HOperatorSet.GenEmptyObj(out ho_Image);
            HOperatorSet.GenEmptyObj(out ho_GrayImage);

            //dev_close_window(...);
            ho_Image.Dispose();
            HOperatorSet.ReadImage(out ho_Image, "E:/图库/abc.jpg");
            ho_GrayImage.Dispose();
            HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImage);
            HOperatorSet.GetImageSize(ho_GrayImage, out hv_Width, out hv_Height);
            //dev_open_window(...);
            HOperatorSet.DispObj(ho_GrayImage, hv_ExpDefaultWinHandle);
            ho_Image.Dispose();
            ho_GrayImage.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();
        }

    }
    /*以上复制于sa.cs*/

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            HDevelopExport HD = new HDevelopExport();
            HD.RunHalcon(hWindowControl1.HalconWindow);
        }
    }
}
运行结果:


另一种方法:

(1)将sa.cs导入C#工程:


(2)Form1.cs的代码修改为:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using HalconDotNet; 	//引入Halcon空间
namespace HALCON2
{
   public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            HDevelopExport HD = new HDevelopExport();
            HD.RunHalcon(hWindowControl1.HalconWindow);
        }
    }
}
其运行结果为:

图像处理番外篇: 在VS2010下 使用HALCON12 的库

HALCON 本质上讲 是一个函数库, 虽然也有HALCON10 11 12 之类的开发环境,但是这些东西顶到天上去 不过是给我们调试算子用的,他没有办法开发出一个好看使用的界面出来。  所以我们要...
  • u012374012
  • u012374012
  • 2015-01-09 10:45:26
  • 4180

VS2010下 使用HALCON12 的库

 转载自:http://blog.csdn.net/u012374012/article/details/42552053  HALCON 本质上讲 是一个函数库, 虽然也有HALCON...
  • striving1234
  • striving1234
  • 2017-07-17 21:37:07
  • 403

VS2010/MFC 配置Halcon12 并显示图片

工具/原料 · win7 x64 · Visual Studio 2010 · Halcon12第一步(halcon部分)先在halcon中新建一个...
  • shenhuan1104
  • shenhuan1104
  • 2017-04-10 22:33:36
  • 1810

[Halcon]Halcon12在vs2013下的配置

环境: visual studio:2013 halcon:halcon12 windows7 64位 1.新建vs2013项目 2.配置halcon12 (1)项目-属性-配置属性-链接器-输入-附...
  • kingcooper
  • kingcooper
  • 2016-03-09 10:27:19
  • 9424

VC++2010下调用halcon 10与11库配置

1.创建一个Console项目 2.右击项目名称选择属性->配置属性->vc++目录     包含目录里添加:     $(HALCONROOT)\include\cpp     $(H...
  • u010525655
  • u010525655
  • 2013-08-02 09:25:56
  • 3446

C#(VS10)调用HALCON12----实现数字识别

C#(VS10)调用HALCON12----实现数字识别 参考自:http://www.cnblogs.com/hanzhaoxin/archive/2013/02/07/2908924.h...
  • liyuqian199695
  • liyuqian199695
  • 2017-03-01 16:05:03
  • 1057

Halcon + VS2013 C#配置

1:  安装Halcon :http://www.ihalcon.com/index.php?m=bbs&c=forumlist可以获得资源 2: 添加系统环境变量                 ...
  • guoruijiushiwo
  • guoruijiushiwo
  • 2017-08-23 09:40:06
  • 529

HALCON12学习笔记(一)

HALCON12学习笔记(一) HALCON官方文档(HALCON13)地址:http://www.mvtec.com/products/halcon/documentation/ ...
  • liyuqian199695
  • liyuqian199695
  • 2017-02-28 21:23:36
  • 1004

在Visual Studio 13下配置Halcon12

  • 2016年12月22日 15:04
  • 10.85MB
  • 下载

VS2010 c#创建及调用Webservice

VS2010 c#创建及调用Webservice 2013-03-22 11:31 3553人阅读 评论(0) 收藏 举报 目录(?)[+] VS2010...
  • pangwenquan5
  • pangwenquan5
  • 2016-07-15 17:08:50
  • 3637
收藏助手
不良信息举报
您举报文章:C#(VS2010)调用HALCON12
举报原因:
原因补充:

(最多只允许输入30个字)