From 95bc9ce3b3f997baa451ff1d03f3a059e7835c63 Mon Sep 17 00:00:00 2001 From: Admin Date: Mon, 28 Apr 2025 11:30:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DH.Devices.Vision/SimboDetection.cs | 4 + DH.Devices.Vision/SimboVisionDriver.cs | 36 ++++++--- DHSoftware/MainWindow.cs | 107 +++++++++++++------------ 3 files changed, 87 insertions(+), 60 deletions(-) diff --git a/DH.Devices.Vision/SimboDetection.cs b/DH.Devices.Vision/SimboDetection.cs index 1c3a130..e07f9f7 100644 --- a/DH.Devices.Vision/SimboDetection.cs +++ b/DH.Devices.Vision/SimboDetection.cs @@ -32,6 +32,10 @@ namespace DH.Devices.Vision bool res = false; try { + if (!Path.GetExtension(mLInit.ModelFile).Equals(".trt", StringComparison.OrdinalIgnoreCase)) + { + throw new Exception("选择的模型不是trt格式"); + } Model = MLGPUEngine.InitModel(mLInit.ModelFile, 1, mLInit.Score_thre, mLInit.GPUId, 3, 8); //Model = MLEngine.InitModel(mLInit.ModelFile, 1, 0.45f, 0, 3); diff --git a/DH.Devices.Vision/SimboVisionDriver.cs b/DH.Devices.Vision/SimboVisionDriver.cs index ee6c440..9e1c79b 100644 --- a/DH.Devices.Vision/SimboVisionDriver.cs +++ b/DH.Devices.Vision/SimboVisionDriver.cs @@ -32,13 +32,21 @@ namespace DH.Devices.Vision public void Init() { - //InitialQueue(); - InitialHalconTools(); - InitialSimboMLEnginesAsync(); + try + { + //InitialQueue(); + InitialHalconTools(); + InitialSimboMLEnginesAsync(); + + // ImageSaveHelper.OnImageSaveExceptionRaised -= ImageSaveHelper_OnImageSaveExceptionRaised; + // ImageSaveHelper.OnImageSaveExceptionRaised += ImageSaveHelper_OnImageSaveExceptionRaised; + // base.Init(); + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } - // ImageSaveHelper.OnImageSaveExceptionRaised -= ImageSaveHelper_OnImageSaveExceptionRaised; - // ImageSaveHelper.OnImageSaveExceptionRaised += ImageSaveHelper_OnImageSaveExceptionRaised; - // base.Init(); } public void Stop() { @@ -292,9 +300,16 @@ namespace DH.Devices.Vision /// private bool InitialSimboMLEnginesAsync() { - //深度学习 模型加载 - var resultOK = MLLoadModel(); - return resultOK; + try + { + //深度学习 模型加载 + var resultOK = MLLoadModel(); + return resultOK; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } } /// /// 深度学习 模型加载 @@ -358,6 +373,7 @@ namespace DH.Devices.Vision { // LogAsync(DateTime.Now, LogLevel.Exception, $"异常:模型并发加载异常:{ex.GetExceptionMessage()}"); resultOK = false; + throw new Exception(ex.Message); } return resultOK; @@ -432,7 +448,7 @@ namespace DH.Devices.Vision { // LogAsync(DateTime.Now, LogLevel.Error, $"模型加载成功;是否GPU:{isGPU} CoreInx:{coreInx} - {dc.Name}" + $" {dc.ModelType.GetEnumDescription()}:{dc.ModelPath}"); - throw new ProcessException($"异常:是否GPU:{isGPU} CoreInx:{coreInx} - {dc.Name}模型加载异常:{ex.GetExceptionMessage()}"); + throw new Exception($"异常:是否GPU:{isGPU} CoreInx:{coreInx} - {dc.Name}模型加载异常:{ex.Message}"); } return mLEngineSet; } diff --git a/DHSoftware/MainWindow.cs b/DHSoftware/MainWindow.cs index 9c8c596..fbeefa1 100644 --- a/DHSoftware/MainWindow.cs +++ b/DHSoftware/MainWindow.cs @@ -634,66 +634,73 @@ namespace DHSoftware FrmLog frmLog; public void InitModel() { - Dectection.Clear(); - _cameraRelatedDetectionDict = new(); - - if (ConfigModel.DetectionList.Count > 0) + try { - for (int i = 0; i < ConfigModel.DetectionList.Count; i++) - { - DetectionConfig detectionConfig = ConfigModel.DetectionList[i]; - var detection = ConfigModel.DetectionList[i]; - detectionConfig.CameraCollects = detection.CameraCollects; - detectionConfig.ModelconfThreshold = detection.ModelconfThreshold; - detectionConfig.ModelWidth = detection.ModelWidth; - detectionConfig.ModelHeight = detection.ModelHeight; - detectionConfig.In_lable_path = detection.In_lable_path; - detectionConfig.IsEnabled = detection.IsEnabled; - detectionConfig.ImageSaveDirectory = "D://Projects//Images"; + Dectection.Clear(); + _cameraRelatedDetectionDict = new(); - detectionConfig.ShowLocation.X = (i + 1) % 5 + (i + 1) / 5; - // detectionConfig.ShowLocation.X = detection.ShowLocation.X; - detectionConfig.ShowLocation.Y = (i + 1) / 5 + 1; - // detectionConfig.ShowLocation.Y = detection.ShowLocation.Y; - DetectionConfigs.Add(detectionConfig); + if (ConfigModel.DetectionList.Count > 0) + { + for (int i = 0; i < ConfigModel.DetectionList.Count; i++) + { + DetectionConfig detectionConfig = ConfigModel.DetectionList[i]; + var detection = ConfigModel.DetectionList[i]; + detectionConfig.CameraCollects = detection.CameraCollects; + detectionConfig.ModelconfThreshold = detection.ModelconfThreshold; + detectionConfig.ModelWidth = detection.ModelWidth; + detectionConfig.ModelHeight = detection.ModelHeight; + detectionConfig.In_lable_path = detection.In_lable_path; + detectionConfig.IsEnabled = detection.IsEnabled; + detectionConfig.ImageSaveDirectory = "D://Projects//Images"; + + detectionConfig.ShowLocation.X = (i + 1) % 5 + (i + 1) / 5; + // detectionConfig.ShowLocation.X = detection.ShowLocation.X; + detectionConfig.ShowLocation.Y = (i + 1) / 5 + 1; + // detectionConfig.ShowLocation.Y = detection.ShowLocation.Y; + DetectionConfigs.Add(detectionConfig); + } } - } - DetectionConfigs.ForEach(detection => - { - detection.CameraCollects.ForEach(cam => + DetectionConfigs.ForEach(detection => { - List Dets = new List + detection.CameraCollects.ForEach(cam => + { + List Dets = new List { detection.Id }; - if (!_cameraRelatedDetectionDict.ContainsKey(cam.CameraSourceId)) - { - _cameraRelatedDetectionDict.Add(cam.CameraSourceId, Dets); + if (!_cameraRelatedDetectionDict.ContainsKey(cam.CameraSourceId)) + { + _cameraRelatedDetectionDict.Add(cam.CameraSourceId, Dets); + } + else + { + _cameraRelatedDetectionDict[cam.CameraSourceId].Add(detection.Id); + } } - else - { - _cameraRelatedDetectionDict[cam.CameraSourceId].Add(detection.Id); - } - } - ); - }); - string inferenceDevice = "CPU"; + ); + }); + string inferenceDevice = "CPU"; - frmLog = new FrmLog(); - frmLog.Dock = DockStyle.Fill; - pnlLog.Controls.Add(frmLog); - // - _visionEngine = new SimboVisionDriver(); - _visionEngine.DetectionConfigs = DetectionConfigs; - _visionEngine.LoggerHelper.LogPath = "D://PROJECTS//Logs//"; - _visionEngine.LoggerHelper.LogPrefix = "Vision"; - _visionEngine.OnLog += _visionEngine_OnLog; - //初始化模型 加载模型 - _visionEngine.Init(); + frmLog = new FrmLog(); + frmLog.Dock = DockStyle.Fill; + pnlLog.Controls.Add(frmLog); + // + _visionEngine = new SimboVisionDriver(); + _visionEngine.DetectionConfigs = DetectionConfigs; + _visionEngine.LoggerHelper.LogPath = "D://PROJECTS//Logs//"; + _visionEngine.LoggerHelper.LogPrefix = "Vision"; + _visionEngine.OnLog += _visionEngine_OnLog; + //初始化模型 加载模型 + _visionEngine.Init(); - CtrlVisionRunBase ctrlVisionRun = new CtrlVisionRunBase(_visionEngine); - ctrlVisionRun.Dock = DockStyle.Fill; - tabImgDisplay.Controls.Add(ctrlVisionRun); + CtrlVisionRunBase ctrlVisionRun = new CtrlVisionRunBase(_visionEngine); + ctrlVisionRun.Dock = DockStyle.Fill; + tabImgDisplay.Controls.Add(ctrlVisionRun); + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } }