From b009a7355b553488cd7bef6c6ab80991814caf90 Mon Sep 17 00:00:00 2001 From: TD Date: Tue, 15 Apr 2025 09:24:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=971?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DH.Commons/Base/DetectionConfig.cs | 9 ++++ DH.Devices.Camera/Do3ThinkCamera.cs | 36 ++++++++++----- DH.Devices.Vision/SimboVisionDriver.cs | 61 +++++++------------------- DHSoftware/MainWindow.cs | 16 +++---- 4 files changed, 56 insertions(+), 66 deletions(-) diff --git a/DH.Commons/Base/DetectionConfig.cs b/DH.Commons/Base/DetectionConfig.cs index 8b90669..4fde443 100644 --- a/DH.Commons/Base/DetectionConfig.cs +++ b/DH.Commons/Base/DetectionConfig.cs @@ -1072,6 +1072,15 @@ namespace DH.Commons.Base OnPropertyChanged(nameof(CellLinks)); } } + + public bool FilterOperation(DetectionResultDetail recongnitionResult) + { + + double compareValue = recongnitionResult.Area; + double compareScoreValue = recongnitionResult.Score; + return (compareValue >= MinArea && compareValue <= MaxArea)&& (compareScoreValue >= MinScore && compareScoreValue <= MaxScore); + + } } public class SizeTreatParam : NotifyProperty diff --git a/DH.Devices.Camera/Do3ThinkCamera.cs b/DH.Devices.Camera/Do3ThinkCamera.cs index 696012d..a218af2 100644 --- a/DH.Devices.Camera/Do3ThinkCamera.cs +++ b/DH.Devices.Camera/Do3ThinkCamera.cs @@ -39,7 +39,7 @@ namespace DH.Devices.Camera { LoggerHelper.LogPath = "D://"; LoggerHelper.LogPrefix = CameraName; - + } @@ -153,7 +153,7 @@ namespace DH.Devices.Camera SetGain(Gain); } //全画幅 - if(!IsAllPicEnabled) + if (!IsAllPicEnabled) SetPictureRoi((int)ROIX, (int)ROIY, (int)ROIW, (int)ROIH); //// 设置 触发延迟 @@ -330,7 +330,7 @@ namespace DH.Devices.Camera Mat cvImage = new Mat(); if (this.CameraName.Equals("Cam1")) { - Console.WriteLine( ); + Console.WriteLine(); } if (this.CameraName.Equals("Cam2")) { @@ -370,7 +370,7 @@ namespace DH.Devices.Camera { _mat = smat, - + }; InitialImageSet(imageSet); @@ -378,7 +378,7 @@ namespace DH.Devices.Camera OnHImageOutput?.Invoke(DateTime.Now, this, outImgSet); //存图 - DisplayAndSaveOriginImage(imageSet.Id,SnapshotCount); + DisplayAndSaveOriginImage(imageSet.Id, SnapshotCount); @@ -394,7 +394,7 @@ namespace DH.Devices.Camera } return 0; } - public void InitialImageSet(MatSet set) + public void InitialImageSet(MatSet set) { //if (saveOption != null) //{ @@ -418,13 +418,25 @@ namespace DH.Devices.Camera { await Task.Run(() => { - Bitmap showImage = set._mat.ToBitmap(); + Bitmap? showImage = null; + + try + { + showImage = set._mat.ToBitmap(); + } + catch (Exception) + { + //释放 himage + ClearImageSet(set); + return; + } + // showImage.Save("D:/test333.bmp"); // Marshal.Copy(pbyteImageBuffer, 0, (IntPtr)lAddrImage, (int)dwBufferSize); - // Bitmap saveImage = showImage?.CopyBitmap(); + // Bitmap saveImage = showImage?.CopyBitmap(); // saveImage.Save("d://TEST444.BMP"); - // OnShowImageUpdated?.Invoke(this, showImage, imgSetId); - if (IsSavePicEnabled) + // OnShowImageUpdated?.Invoke(this, showImage, imgSetId); + if (IsSavePicEnabled && showImage != null) { string fullname = Path.Combine(ImageSaveDirectory, $"{CameraName}_{_counter:D7}_{set.Id}.{set._imageFormat.ToString().ToLower()}"); ImageSaveAsync(fullname, showImage); @@ -469,7 +481,7 @@ namespace DH.Devices.Camera { FullName = fullName, SaveImage = map, - + }; ImageSaveHelper.ImageSaveAsync(imageSaveSet); @@ -528,7 +540,7 @@ namespace DH.Devices.Camera LoggerHelper.LogAsync(msg); } } - public void LogAsync(DateTime dt, LogLevel logLevel, string msg) + public void LogAsync(DateTime dt, LogLevel logLevel, string msg) { LogAsync(new LogMsg(dt, logLevel, msg)); } diff --git a/DH.Devices.Vision/SimboVisionDriver.cs b/DH.Devices.Vision/SimboVisionDriver.cs index a1cb4d5..ef74074 100644 --- a/DH.Devices.Vision/SimboVisionDriver.cs +++ b/DH.Devices.Vision/SimboVisionDriver.cs @@ -171,41 +171,10 @@ namespace DH.Devices.Vision // LogAsync(DateTime.Now, LogLevel.Information, $"{detectConfig.Name} 产品{detectResult.TempPid} RunInference BEGIN"); mlWatch.Start(); - //20230802改成多线程推理 RunInferenceFixed - // MLResult result = new MLResult(); + var result = mlSet.StationMLEngine.RunInference(req); - // var result = mlSet.StationMLEngine.RunInferenceFixed(req); + mlWatch.Stop(); - // LogAsync(DateTime.Now, LogLevel.Information, $"{detectConfig.Name} 产品{detectResult.TempPid} RunInference END"); - - - - - - - // var req = new MLRequest(); - - //req.mImage = inferenceImage; - - //req.ResizeWidth = detectConfig.ModelWidth; - //req.ResizeHeight = detectConfig.ModelHeight; - //req.confThreshold = detectConfig.ModelconfThreshold; - //req.iouThreshold = 0.3f; - //req.out_node_name = "output0"; - //req.in_lable_path = detectConfig.in_lable_path; - - //Stopwatch sw = Stopwatch.StartNew(); - //var result = Dectection[detectionId].RunInference(req); - //sw.Stop(); - //LogAsync(DateTime.Now, LogLevel.Information, $"{camera.Name} 推理进度1.1,产品{productNumber},耗时{sw.ElapsedMilliseconds}ms"); - - //this.BeginInvoke(new MethodInvoker(delegate () - //{ - // // pictureBox1.Image?.Dispose(); // 释放旧图像 - // // pictureBox1.Image = result.ResultMap; - // richTextBox1.AppendText($"推理成功 {productNumber}, {result.IsSuccess}相机名字{camera.CameraName} 耗时 {mlWatch.ElapsedMilliseconds}ms\n"); - //})); - //req.mImage?.Dispose(); @@ -269,22 +238,22 @@ namespace DH.Devices.Vision } - //foreach (IGrouping group in conditionList) - //{ - // bool b = group.ToList().Any(f => - // { - // return f.FilterOperation(d); - // }); + foreach (IGrouping group in conditionList) + { + bool b = group.ToList().Any(f => + { + return f.FilterOperation(d); + }); - // if (b) - // { - // d.FinalResult = group.Key; - // break; - // } + if (b) + { + d.FinalResult = group.Key; + break; + } - - //} + + } }); #endregion #region 5.统计缺陷过滤结果或预处理直接NG diff --git a/DHSoftware/MainWindow.cs b/DHSoftware/MainWindow.cs index 58accfa..e3e3557 100644 --- a/DHSoftware/MainWindow.cs +++ b/DHSoftware/MainWindow.cs @@ -837,14 +837,6 @@ namespace DHSoftware LoggerHelper.LogPrefix = "Process"; OnLog -= LogDisplay; OnLog += LogDisplay; - - lbInBackend.Click += LbInBackend_Click; - } - - private void LbInBackend_Click(object? sender, EventArgs e) - { - DH.RBAC.RBACWindow.Instance.Show(); - OnUpdateCamResult -= UpdateCamResult; OnUpdateCamResult += UpdateCamResult; @@ -856,6 +848,14 @@ namespace DHSoftware _refreshUITimer.Tick += _refreshUITimer_Tick; _refreshUITimer.Enabled = true; }; + lbInBackend.Click += LbInBackend_Click; + } + + private void LbInBackend_Click(object? sender, EventArgs e) + { + DH.RBAC.RBACWindow.Instance.Show(); + + } private void _refreshUITimer_Tick(object sender, EventArgs e) {