c#与halcon联合调试

  1.C#调用halcon dll的过程

步骤 1:安装 Halcon以及Visual Studio
首先,确保已经安装了Halcon以及Visual Studio,并获取到Halcon的dll文件。通常,这些文件位于Halcon的安装目录中。

步骤 2:创建 C# 项目
启动Visual Studio并创建一个新的C# Windows Forms应用程序或控制台应用程序。


步骤 3:添加对 Halcon dll的引用

在文件中,将Halcon.dll以及dotnet35目录下的所有dll和xml文件复制到创建的Windows Forms的bin/debug路径下


随后在项目中,右键单击“引用”并选择“添加引用”,然后选择“浏览”找到Halcon的dll文件HalconDotNet.dll添加。
步骤 4:导入 Halcon 命名空间
在C#代码文件顶部,添加以下命名空间引用:
using HalconDotNet;

将HalconDotNet.dll拖入工具箱内生成
步骤 5:编写调用 Halcon 函数的代码
下面是一个简单的示例:


步骤 6:设置项目属性
右键项目点击属性,在项目属性中,将“生成”中的首选32位取消。
  2.如何写一个测试程序证明C#halcon联合开发成功

为了验证C#与Halcon的联合开发成功,可以编写一个简单的程序,执行以下操作:
1. 加载一幅图像。
2. 进行简单的图像处理。
3. 显示处理结果。

示例:

using HalconDotNet;
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 _20240819
{
    public partial class BlobForm : Form
    {
        public BlobForm()
        {
            InitializeComponent();
            comboBox_feature.Items.Add("area");
            comboBox_feature.Items.Add("circularity");
            comboBox_feature.Items.Add("rectangularity");
            //选择首个选项
            comboBox_feature.SelectedIndex = 0;
        }
         HObject ho_image;
        private void button_readimage_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                HOperatorSet.ReadImage(out ho_image, openFileDialog.FileName);
            }
            HOperatorSet.SetColor(hWindowControl_yuanshi.HalconWindow, "green");
            
            HTuple width, height;
            //获取图片的宽高
            HOperatorSet.GetImageSize(ho_image, out width, out height);
            //HWindowControl.HalconWindow-->窗体句柄   设置显示范围
            HOperatorSet.SetPart(hWindowControl_yuanshi.HalconWindow, 0, 0, height - 1, width - 1);
            //显示
            HObject Region;
            HOperatorSet.Threshold(ho_image, out Region, 0, 50);
            HObject ConnectionRegion;
            HOperatorSet.Connection(Region, out ConnectionRegion);
            HObject SelectShapeRegion;
            //HOperatorSet.SelectShape(ConnectionRegion, out SelectShapeRegion, "area", "and", 3227.85, 7897.33);
            HOperatorSet.SelectShape(ConnectionRegion, out SelectShapeRegion,comboBox_feature.SelectedItem.ToString(), "and", Double.Parse(textBox1.Text), Double.Parse(textBox2.Text));
           
            HOperatorSet.DispObj(ho_image, hWindowControl_yuanshi.HalconWindow);
            HOperatorSet.DispObj(SelectShapeRegion, hWindowControl_yuanshi.HalconWindow);
            //Console.WriteLine("图片的宽:{0} 图片的高:{1}", width, height);
     

        }

        private void button2_Click(object sender, EventArgs e)
        {
            //获得combox下拉选项
            MessageBox.Show(comboBox_feature.SelectedItem.ToString());
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            if(openFileDialog.ShowDialog()==DialogResult.OK)
            {
                MessageBox.Show(openFileDialog.FileName);
            }
        }

      
    }
}

运行结果:
运行测试程序
将以上代码复制到C#项目中。运行程序后,如果能够成功打开窗口并显示原图像及其边缘,说明C#与Halcon的集成已成功实现。
总结
通过上述步骤,我们成功地在C#中调用了Halcon dll,并编写了一个简单的测试程序来验证其功能。

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值