1. WPF+Halcon布局
引用halcondotnet.dll和hdevenginedotnet.dllspa
XAML中导入命名空间xmlns:halcon=”clr-namespace:HalconDotNet;assembly=halcondotnet”。输入xmlns后,tab选择halcon,而后再tab就自动输入).net
WPF布局,建立HWindowControlWPF窗口
2.HDevEnginexml
声明
HDevEngine MyEngine = new HDevEngine(); //halcon engine
HWindow hHalconWindow; //halcon window
HDevProcedure Procedure; // 归纳一个Procedure,其输入输出参数的数量、名字等其余信息
HDevProcedureCall ProcCall; //管理一个Procedure的实例,好比运行等其余操做
窗口加载后,设置HDevEngine的Procedure目录 和 具体要调用Procedure名字
MyEngine.SetProcedurePath("@string path"); //若是Procedure是Lib,那么就不是目录,而是Lib的名字,由于Lib里面包含不少Procedures
hHalconWindow = HWindowControlWPF1.HalconWindow;
Procedure = new HDevProcedure("detect_fin"); //指定具体Procedure名字
ProcCall = new HDevProcedureCall(Procedure); //实际运行的实例
设置输入参数,运行,获取输出参数
Image.GrabImage(Framegrabber); //获取图像
ProcCall.SetInputIconicParamObject("Image", Image); //将图像输入Proc
ProcCall.Execute(); //执行Proc
FinRegion = ProcCall.GetOutputIconicParamRegion("FinRegion"); //获取Proc的结果
FinArea = ProcCall.GetOutputCtrlParamTuple("FinArea"); //获取Proc的结果blog
//显示部分
Image.DispObj(hHalconWindow); //显示图像
hHalconWindow.SetColor("red");
hHalconWindow.DispObj(FinRegion);
hHalconWindow.SetColor("white");
hHalconWindow.SetTposition(150, 20);
hHalconWindow.WriteString("Finrea: " + FinArea.D);
3.关于参数string
若是须要在不一样Procedures之间传递参数,好比Image,则能够使用HDevEngine的Global Variables。it
//设置HDevEngine的全局变量
MyEngine.SetGlobalIconicVarObject("Image", Image);
MyEngine.SetGlobalIconicVarObject("FinRegion", FinRegion);
MyEngine.SetGlobalCtrlVarTuple("FinArea", FinArea);
--------------------- io
转载!!
做者:sp183207326
来源:CSDN
原文:https://blog.csdn.net/sp183207326/article/details/72876446
变量