C#与Halcon联合编程(1)显示图像
C#与Halcon联合编程第一步就是调用Halcon图像处理数据库,是否调用成功,通常是利用Halcon的图像显示控件能否正确显示图像进行判断。下面就简单介绍一下如何利用C#调用Halcon图像显示控件来显示图像。
1.创建C#项目,创建一个Windows窗体应用程序。
2.在项目中引用Halcon的DLL文件。鼠标右键单击“引用”–“添加引用”,如下图:
在弹出的引用管理器中点击下方的“浏览”按钮。选择Halcon安装目录下的halcondotnet.dll文件,点击添加–确定。本文以halcon12为例子,如下图:
引用成功后halcondotnet会出现在引用项目里。
3.添加halcon图像显示控件。在Visual Studio左侧点击“工具箱”,在空白区域点击鼠标右键,选择“选择项”。在".NET Framework组件“这一页中点击”浏览“按钮,同样添加刚刚引用的那个halcondotnet.dll文件。
添加成功后,在常规一类中会出现HWindowControl这个控件。如下图。
将该控件添加到界面上。如下图:
查看添加的这个HWindowControl控件的属性可以看到控件的名称为hWindowControl1,这个名称在程序中会用到。如下图:
4.在程序中进行图像的显示。添加的语句都有注释。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HalconDotNet;//添加这一句
namespace HalconWindows
{
public partial class Form1 : Form
{
HWindow win = null;//定义一个Halcon窗口对象
HImage image = null;//定义一个Halcon图像变量
public Form1()
{
//win = hWindowControl1.HalconWindow;这句放在InitializeComponent()函数前执行会报错
InitializeComponent();
win = hWindowControl1.HalconWindow;//将Halcon窗口对象与控件进行关联
image = new HImage();//实例化图像变量
image.ReadImage(@"e:\rmb.png");//读取图像
int width = 0, height = 0;//创建变量用于接收图像尺寸
image.GetImageSize(out width, out height);//获取图像尺寸
win.SetPart(0, 0, height - 1, width - 1);//设置Halcon控件中图像的显示尺寸
win.DispObj(image);//显示图像
}
}
}
此外,在引用dll文件后,可能在运行的时候会报错,可以尝试修改一下项目的框架版本。具体位置:鼠标右键单击项目文件—属性—应用程序----目标框架