C3032
2026-03-18 32304b0a0a2e4af174c0feea96d2387bb75a2556
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,23 @@
        [Node("相机取图", "取像工具", "Basic", "相机取图")]
        public void 相机取图(FlowNode node) { RunNodeAsync(node); }
        [Node("读码工具", "取像工具", "Basic", "读码工具")]
        public void 读码工具(FlowNode node) { RunNodeAsync(node); }
        [Node("Halcon2D斑点工具", "Halcon2D工具", "Basic", "Halcon2D斑点工具")]
        public void Halcon2D斑点工具(FlowNode node) { RunNodeAsync(node); }
        [Node("通讯模块", "通讯工具", "Basic", "通讯模块")]
        public void 通讯模块(FlowNode node) { RunNodeAsync(node); }
        [Node("Halcon2D图像增强", "Halcon2D工具", "Basic", "Halcon2D图像增强")]
        public void Halcon2D图像增强(FlowNode node) { RunNodeAsync(node); }
        [Node("Halcon2D图像滤波", "Halcon2D工具", "Basic", "Halcon2D图像滤波")]
        public void Halcon2D图像滤波(FlowNode node) { RunNodeAsync(node); }
        #endregion