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
變量