C#下halcon配置

更新时间:2024-03-13 04:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.在halcon中写入算子,实现函数过程 例如:

read_image(Image,'D:/MyFile/halcon/数字识别/1.jpg') decompose3(Image, ImageR, ImageG, ImageB) threshold (ImageG, Regions, 0, 183) connection (Regions, Connection)

select_shape (Connection, SelectedRegions, 'area', 'and', 1987.72, 7500) read_ocr_class_mlp('Document_0-9.omc',OCRHandle)

do_ocr_multi_class_mlp(SelectedRegions,ImageG,OCRHandle, Class, Confidence)

2.通过halcon的IDE开发环境,导出C#代码

3.利用vs2013创建一个C#窗口程序,加一个按钮。

4.将HDevelop安装目录下的文件夹拷贝到刚创建的C#窗口程序目录下

比如:我的C#工程名字叫Hello,我的HDevelop安装在C:\\Program Files\\MVTec中,

我就把C:\\Program Files\\MVTec\\Halcon\\bin文件夹复制到Hello.sln所在位置的同一文件夹下。

5.在C#工程中,对“解决方案资源管理器” 的 “引用” 右击,选择 “添加引用” ,点击“浏览”,选择刚才加进C#工程的 “bin” 文件夹,接着选择“dotnet35”文件夹,最后选择“halcondotnet.dll”文件。点击”添加“。

6.在C#工程中,选择“视图”,选择“工具箱”,在“工具箱“中右击,选择”选择项“,点击”浏览“,选择刚才加进C#工程的 “bin” 文件夹,接着选择“dotnet35”文件夹,最后选择“halcondotnet.dll”文件。点击”打开“。

7.将第二步导出的c#代码中生成的类,加入”Program.cs“文件中,如下 using System;

using System.Collections.Generic; using System.Linq;

using System.Threading.Tasks; using System.Windows.Forms;

using HalconDotNet;

namespace Hello {

public partial class HDevelopExport {

#if !NO_EXPORT_APP_MAIN public HDevelopExport() {

// Default settings used in HDevelop

HOperatorSet.SetSystem(\

action(); } #endif

// Main procedure public void action() {

// Local iconic variables

HObject ho_Image;

// Local control variables

HTuple hv_Width, hv_Height, hv_WindowHandle;

// Initialize local and output iconic variables HOperatorSet.GenEmptyObj(out ho_Image);

if (HDevWindowStack.IsOpen()) {

HOperatorSet.CloseWindow(HDevWindowStack.Pop()); }

HOperatorSet.ReadImage(out ho_Image, \

HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height); HOperatorSet.SetWindowAttr(\

HOperatorSet.OpenWindow(0, 0, hv_Width, hv_Height, 0, \\hv_WindowHandle);

HDevWindowStack.Push(hv_WindowHandle); if (HDevWindowStack.IsOpen()) {

HOperatorSet.DispObj(ho_Image, HDevWindowStack.GetActive()); }

ho_Image.Dispose();

} }

static class Program {

///

/// 应用程序的主入口点。 ///

out [STAThread] static void Main() {

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }

8.在C#工程的”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.Threading.Tasks; using System.Windows.Forms;

namespace Hello {

public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

HDevelopExport HD = new HDevelopExport(); HD.action();

} } }

9.在C#工程”Debug“文件夹中加入”halcon.dll“、”halcondotnet.dll“、”license.dat“文件。

10.移植到另一台机器中的时候,要在另一台机器路径C:\\Program Files\\MVTec\\Halcon\\下加入本台机器安装的HDevelop的help文件夹。

例如:我的机器C:\\Program Files\\MVTec\\HALCON-10.0\\help

我在另一台机器下也按着这个路径建立相同文件夹的名字,把我的机器C:\\Program Files\\MVTec\\HALCON-10.0\\help下的所以文件拷贝到另一台机器中。

11.配置完成,运行。。。。。

本文来源:https://www.bwwdw.com/article/smn8.html

Top