在MFC中,Halcon编写的函数模块可导出成C++形式的函数,从而供MFC程序调用。但是,在C#中,Halcon编写的函数模块导出的形式是C#类。那么,如何在C#程序中调用Halcon导出的模块类呢?
1添加Halcon导出的类
(1)导入dll
导入dll是指在解决方案下的”引用”中导入halcondonet.dll
。其路径一般位于C:\Program Files\MVTec\HALCON-10.0\bin\dotnet10
中,只有在项目中引入了该dll,程序中才有资格能使用using加载该命名空间,并使用该空间中的函数。
(2)复制黏贴
将using HalconDotNet;
复制粘贴到程序页面最顶上的命名空间处。此步骤是在程序中加载HalconDotNet命名空间。将Halcon导出的C#类public partial class HDevelopExport
(即类下花括号中的所有类容)均复制粘贴到C#程序中。
(3)修改
修改是将导出的主函数private void action()
中的private
改为public
,这样在其他类中才能有权限去调用HDevelopExport
中的函数。
此步骤完成了在C#程序中添加Halcon导出类,那么如何调用该类中的函数呢?
2调用导出类中的函数
在主程序类中调用Halcon类方法分为两步:
1是在主程序public partial class Form1 : Form{}
中创建一个HDevelopExport
类对象
HDevelopExport HD = new HDevelopExport();//全局的halcon类对象
2是在需要调用halcon函数的地方使用类对象来调用该函数this.HD.action();
,其参数和返回值都是可以根据实际情况而改变的。