From eb3e5c90006ab2b1b485000e7622941ff11a2b51 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期四, 25 十二月 2025 16:07:17 +0800
Subject: [PATCH] ”修复log显示以及文件大小问题。“

---
 LB_VisionProcesses/Alogrithms/OpenCvSharp/BlobTool/BlobToolEdit.cs |   72 +++++++++++++++++++----------------
 1 files changed, 39 insertions(+), 33 deletions(-)

diff --git a/LB_VisionProcesses/Alogrithms/OpenCvSharp/BlobTool/BlobToolEdit.cs b/LB_VisionProcesses/Alogrithms/OpenCvSharp/BlobTool/BlobToolEdit.cs
index 5395562..cfe7641 100644
--- a/LB_VisionProcesses/Alogrithms/OpenCvSharp/BlobTool/BlobToolEdit.cs
+++ b/LB_VisionProcesses/Alogrithms/OpenCvSharp/BlobTool/BlobToolEdit.cs
@@ -120,10 +120,11 @@
 
                 if (Subject.InputImage != null && Subject.InputImage is Mat)
                 {
-                    TAlgorithm.Mat2HObject((Mat)Subject.InputImage, out HObject image);
-                    inputImageHSmartWindowControl.ShowHoImage(image);
+                    using (HImage image = TAlgorithm.Mat2HObject((Mat)Subject.InputImage))
+                    {
+                        inputImageHSmartWindowControl.ShowHoImage(image);
+                    }
                 }
-
                 Type type = Subject.Params.ROI?.GetType();
                 if (Subject.Params.ROI != null)
                 {
@@ -215,9 +216,11 @@
 
                 if (Subject.InputImage != null && Subject.InputImage is Mat)
                 {
-                    TAlgorithm.Mat2HObject((Mat)Subject.InputImage, out HObject image);
-                    HOperatorSet.GetImageSize(image, out HTuple ho_ImageWidth, out HTuple ho_ImageHeight);
-                    recordImageHSmartWindowControl.ShowHoImage(image);
+                    using (HImage image = TAlgorithm.Mat2HObject((Mat)Subject.InputImage))
+                    {
+                        HOperatorSet.GetImageSize(image, out HTuple ho_ImageWidth, out HTuple ho_ImageHeight);
+                        recordImageHSmartWindowControl.ShowHoImage(image);
+                    }
                 }
 
                 //鍏堝垽鏂瓙绫诲啀鍒ゆ柇鐖剁被
@@ -225,10 +228,11 @@
                 {
                     recordImageHSmartWindowControl.DispObj(msgRecord.RecordObject_OK, true);
                     recordImageHSmartWindowControl.DispObj(msgRecord.RecordObject_NG, false);
-
                     for (int i = 0; i < msgRecord.Msg.Length; i++)
+                    {
                         recordImageHSmartWindowControl.ShowMsg(msgRecord.Msg[i]
                             , 1 == msgRecord.Result[i] ? true : false, msgRecord.Column[i], msgRecord.Row[i]);
+                    }
                 }
                 else if (Subject.Record != null && Subject.Record is ObjectRecord objRecord)
                 {
@@ -302,32 +306,34 @@
                     HTuple hv_imageHeight = 0;
                     if (InputImage != null && InputImage is Mat)
                     {
-                        TAlgorithm.Mat2HObject((Mat)InputImage, out HObject image);
-                        HOperatorSet.GetImageSize(image, out hv_imageWidth, out hv_imageHeight);
-                    }
-                    switch (type)
-                    {
-                        case RoiType.Rectangle2:
-                            inputImageHSmartWindowControl.oRoi
-                                = new HRectangle2(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, 0
-                                , hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
-                            break;
-                        case RoiType.Circle:
-                            inputImageHSmartWindowControl.oRoi
-                                = new HCircle(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, hv_imageWidth.TupleReal() / 4);
-                            break;
-                        //case RoiType.Ellipse:
-                        //    inputImageHSmartWindowControl.oRoi
-                        //        = new HEllipse(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2,0, hv_imageHeight.TupleReal() / 4, hv_imageWidth.TupleReal() / 4);
-                        //    break;
-                        //case RoiType.Segment:
-                        //    inputImageHSmartWindowControl.oRoi
-                        //        = new HSegment(0, 0, hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
-                        //    break;
-                        case RoiType.None:
-                        default:
-                            inputImageHSmartWindowControl.oRoi = null;
-                            break;
+                        using (HImage image = TAlgorithm.Mat2HObject((Mat)InputImage))
+                        {
+                            image.GetImageSize(out hv_imageWidth, out hv_imageHeight);
+                            switch (type)
+                            {
+                                case RoiType.Rectangle2:
+                                    inputImageHSmartWindowControl.oRoi
+                                        = new HRectangle2(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, 0
+                                        , hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
+                                    break;
+                                case RoiType.Circle:
+                                    inputImageHSmartWindowControl.oRoi
+                                        = new HCircle(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2, hv_imageWidth.TupleReal() / 4);
+                                    break;
+                                //case RoiType.Ellipse:
+                                //    inputImageHSmartWindowControl.oRoi
+                                //        = new HEllipse(hv_imageWidth.TupleReal() / 2, hv_imageHeight.TupleReal() / 2,0, hv_imageHeight.TupleReal() / 4, hv_imageWidth.TupleReal() / 4);
+                                //    break;
+                                //case RoiType.Segment:
+                                //    inputImageHSmartWindowControl.oRoi
+                                //        = new HSegment(0, 0, hv_imageWidth.TupleReal() / 4, hv_imageHeight.TupleReal() / 4);
+                                //    break;
+                                case RoiType.None:
+                                default:
+                                    inputImageHSmartWindowControl.oRoi = null;
+                                    break;
+                            }
+                        }
                     }
                 }
             }

--
Gitblit v1.9.3