From a9bc7819f4f7e66159a93e955944728c25ba3e53 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期三, 07 一月 2026 14:10:11 +0800
Subject: [PATCH] 优化相机管理和界面布局 - 在 `CreateCameraForm.cs` 中添加对 `LBCameras` 的引用,并修复相机创建逻辑。 - 调整 `VisionForm.Designer.cs` 和 `2DCameraForm.Designer.cs` 中多个控件的大小和位置,改善界面布局。 - 在 `VisionForm.cs` 中添加对 `LBCameras` 的引用以支持新相机类型。 - 注释掉 `PHM6000Sensor.cs` 和 `PHM6000Profiler.cs` 中与相机信息获取相关的 P/Invoke 方法。 - 重构 `LBCamera.cs`,添加新的相机初始化和参数设置逻辑,确保与 PHM6000 SDK 的兼容性。 - 移除 `PHM6000Camera.cs` 中与 `PHM6000Camera` 相关的代码,简化相机管理逻辑。 Merge branch 'master' of http://lanpucloud.cn:1111/r/~zhengyabo/LB_TyreAppearanceInspectionSoftware

---
 LB_SmartVision/ProcessRun/ProcessContext.cs |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/LB_SmartVision/ProcessRun/ProcessContext.cs b/LB_SmartVision/ProcessRun/ProcessContext.cs
index 0604acf..4081006 100644
--- a/LB_SmartVision/ProcessRun/ProcessContext.cs
+++ b/LB_SmartVision/ProcessRun/ProcessContext.cs
@@ -9,6 +9,7 @@
 using LB_VisionProcesses.Processes.ScriptTool;
 using OpenCvSharp;
 using System.Collections.Concurrent;
+using System.Windows.Media.Media3D;
 
 namespace LB_SmartVision.ProcessRun
 {
@@ -489,7 +490,37 @@
                 if (dicContext.TryGetValue(ProcessName, out IProcess obj)
                     && obj is IProcess process)
                 {
-                    process.InputImage = null;
+                    //process.InputImage = null;
+
+                    if (process.InputImage != null)
+                    {
+                        if (process.InputImage is HObject)
+                            ((HObject)process.InputImage).Dispose();
+                        else if (process.InputImage is Mat)
+                            ((Mat)process.InputImage).Dispose();
+                        else if (process.InputImage is Bitmap)
+                            ((Bitmap)process.InputImage).Dispose();
+
+                        process.InputImage = null;
+                    }
+
+                    if (process.OutputImage != null)
+                    {
+                        if (process.OutputImage is HObject)
+                            ((HObject)process.OutputImage).Dispose();
+                        else if (process.OutputImage is Mat)
+                            ((Mat)process.OutputImage).Dispose();
+                        else if (process.OutputImage is Bitmap)
+                            ((Bitmap)process.OutputImage).Dispose();
+
+                        process.OutputImage = null;
+                    }
+
+                    if (process.Record != null)
+                    {
+                        process.Record.Dispose();
+                        process.Record = null;
+                    }
                     UpdateInputs(process);
 
                     // 涓嶅悓鑺傜偣璺宠繃鐨勬柟寮忎笉鍚�
@@ -539,9 +570,10 @@
         [Node("鐩告満鍙栧浘", "鍙栧儚宸ュ叿", "Basic", "鐩告満鍙栧浘")]
         public void 鐩告満鍙栧浘(FlowNode node) { RunNodeAsync(node); }
 
-        [Node("Halcon2D鏂戠偣宸ュ叿", "Halcon2D宸ュ叿", "Basic", "Halcon2D鏂戠偣宸ュ叿")]
+        [Node("Halcon2D鏂戠偣宸ュ叿", "Haclon2D宸ュ叿", "Basic", "Halcon2D鏂戠偣宸ュ叿")]
         public void Halcon2D鏂戠偣宸ュ叿(FlowNode node) { RunNodeAsync(node); }
 
+
         #endregion
 
 

--
Gitblit v1.9.3