From 22ff831583da8c6f1c015c1e294f0bc1ef70ac85 Mon Sep 17 00:00:00 2001
From: C3031 <shitiangui@lanpucloud.cn>
Date: 星期五, 30 一月 2026 09:23:14 +0800
Subject: [PATCH] 

---
 LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs |   66 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 1 deletions(-)

diff --git a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
index 8e76cd9..79f6ebe 100644
--- a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
+++ b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TAlgorithm.cs
@@ -304,7 +304,16 @@
             Result = true;
             bCompleted = false;
             Msg = "";
-            OutputImage = null;
+            if (OutputImage != null)
+            {
+                if (OutputImage is HObject)
+                    ((HObject)OutputImage).Dispose();
+                else if (OutputImage is Mat)
+                    ((Mat)OutputImage).Dispose();
+                else if (OutputImage is Bitmap)
+                    ((Bitmap)OutputImage).Dispose();
+                OutputImage = null;
+            }
 
             if (Record != null)
                 Record.Dispose();
@@ -3824,6 +3833,61 @@
         }
 
         /// <summary>
+        /// 鍥惧儚澧炲己绠楁硶-杈圭紭澧炲己
+        /// </summary>
+        /// <param name="ho_Image">寰呮祴鍥剧墖</param>
+        /// <param name="hv_Wid">鎺╄啘瀹�</param>
+        /// <param name="hv_High">鎺╄啘楂�</param>
+        /// <param name="hv_Fac">澧炲己鍥犲瓙</param>
+        /// <param name="hv_Row1">璧峰绾靛潗鏍�</param>
+        /// <param name="hv_Column1">璧峰妯潗鏍�</param>
+        /// <param name="hv_Row2">缁撴潫绾靛潗鏍�</param>
+        /// <param name="hv_Column2">缁撴潫妯潗鏍�</param>
+        public static void ImageEnhancement(HObject ho_Image, out HObject ho_OutImage, HTuple hv_ImageEnhancementType, HTuple hv_Wid, HTuple hv_High, HTuple hv_Fac)
+        {
+            HOperatorSet.GenEmptyObj(out ho_OutImage);
+            try
+            {
+                HTuple hv_ImageEnhancementTypeOut = new HTuple();
+                hv_ImageEnhancementTypeOut.Dispose();
+                hv_ImageEnhancementTypeOut = new HTuple(hv_ImageEnhancementType);
+
+                hv_Wid.Dispose();
+                hv_High.Dispose();
+                ho_OutImage.Dispose();
+
+                //璁剧疆鍥惧儚澧炲己绠楁硶
+                if ((int)(new HTuple(hv_ImageEnhancementTypeOut.TupleEqual("emphasize"))) != 0)
+                {
+                    hv_ImageEnhancementTypeOut.Dispose();
+                    hv_ImageEnhancementTypeOut = "emphasize";
+                    HOperatorSet.Emphasize(ho_Image, out ho_OutImage, hv_Wid, hv_High, hv_Fac);
+                }
+                else if ((int)(new HTuple(hv_ImageEnhancementTypeOut.TupleEqual("equHisto"))) != 0)
+                {
+                    hv_ImageEnhancementTypeOut.Dispose();
+                    hv_ImageEnhancementTypeOut = "equHisto";
+                    HOperatorSet.ScaleImageMax(ho_Image, out ho_OutImage);
+                }
+                else
+                {
+                    hv_ImageEnhancementTypeOut.Dispose();
+                    hv_ImageEnhancementTypeOut = "scaleMax";
+                    HOperatorSet.EquHistoImage(ho_Image, out ho_OutImage);
+                }
+                return;
+            }
+            catch (HalconException HDevExpDefaultException)
+            {
+
+                hv_Wid.Dispose();
+                hv_High.Dispose();
+
+                throw HDevExpDefaultException;
+            }
+        }
+       
+        /// <summary>
         /// 鍗″昂绠楁硶
         /// </summary>
         /// <param name="ho_Image">寰呮祴鍥剧墖</param>

--
Gitblit v1.9.3