using HalconDotNet; using Rs.Framework; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Rs.MotionPlat.Flow.Camera { /// /// 模板参数类 /// public class ModelParameter { /// /// 模板ID /// public HTuple ModelID { get; set; } /// /// 搜索区域 /// public HObject SearchRegion { get; set; } /// /// 二维码区域 /// public HObject BarCodeRegion { get; set; } /// /// 起始角度 /// public string AngleStart { get; set; } /// /// 旋转角度 /// public string AngleExtent { get; set; } /// /// 分数 /// public string Score { get; set; } /// /// 模板匹配结果 /// public HTuple ModelMatchResult { get; set; } /// /// 加载参数 /// public ModelParameter(string itemName) { string modelDir = Path.Combine("Recipe",GlobalVar.CurRecipe, itemName); if(Directory.Exists(modelDir)) { IniHelper ini = new IniHelper(Path.Combine(modelDir, "default.ini")); AngleStart = ini.ReadValue("ModelParam", "AngleStart", "-10"); AngleExtent = ini.ReadValue("ModelParam", "AngleExtent", "10"); Score = ini.ReadValue("ModelParam", "Score", "0.5"); string paramPath = Path.Combine(modelDir, "param.tup"); HOperatorSet.ReadTuple(paramPath, out HTuple modelParam); ModelMatchResult = modelParam; string filePath = Path.Combine(modelDir, "model.shm"); HOperatorSet.ReadShapeModel(filePath, out HTuple downCamModelID); ModelID = downCamModelID; string searchReg = Path.Combine(modelDir, "search.reg"); HOperatorSet.ReadRegion(out HObject searchRegion, searchReg); SearchRegion = searchRegion; string barCodeReg = Path.Combine(modelDir, "barcode.reg"); HOperatorSet.ReadRegion(out HObject barCodeRegion, searchReg); BarCodeRegion = barCodeRegion; } } } }