From 004f03913569122866d089a1696ed65c0f4cbcaf Mon Sep 17 00:00:00 2001
From: C3032 <C3032@BC3032>
Date: 星期一, 05 一月 2026 11:07:28 +0800
Subject: [PATCH] Merge branch 'master' into feature/HR_Camera

---
 LB_VisionProcesses/Cameras/CameraConfig.cs |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/LB_VisionProcesses/Cameras/CameraConfig.cs b/LB_VisionProcesses/Cameras/CameraConfig.cs
index 8210a2e..4bec6f7 100644
--- a/LB_VisionProcesses/Cameras/CameraConfig.cs
+++ b/LB_VisionProcesses/Cameras/CameraConfig.cs
@@ -1,7 +1,9 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing HalconDotNet;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Serialization;
 using OpenCvSharp;
 using OpenCvSharp.Extensions;
+using System;
 using System.Collections.Concurrent;
 using System.Diagnostics;
 using System.Text;
@@ -302,21 +304,47 @@
             Msg = "";
             if (OutputImage != null)
             {
-                if (OutputImage is Bitmap)
-                {
+                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();
+                Record = null;
             }
         }
 
         public override void Dispose()
         {
+            if (InputImage != null)
+            {
+                if (InputImage is HObject)
+                    ((HObject)InputImage).Dispose();
+                else if (InputImage is Mat)
+                    ((Mat)InputImage).Dispose();
+                else if (InputImage is Bitmap)
+                    ((Bitmap)InputImage).Dispose();
 
+                InputImage = 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;
+            }
             return;
         }
 

--
Gitblit v1.9.3