From 0ab0fde3216783ee2694d8d4bfbb94237e25a4bb Mon Sep 17 00:00:00 2001
From: C3031 <shitiangui@lanpucloud.cn>
Date: 星期五, 06 三月 2026 16:52:56 +0800
Subject: [PATCH] 新增了图像增强算法及图像滤波算法
---
LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs | 83 +++++++++++++++++++++++++++++------------
1 files changed, 58 insertions(+), 25 deletions(-)
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
index 3e3f7f4..56910c0 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
@@ -1,13 +1,43 @@
锘縰sing HalconDotNet;
+using LB_SmartVision.Forms.Pages.SettingPage;
using LB_SmartVision.ProcessRun;
using LB_VisionControl;
-using Layout = LB_SmartVision.Forms.Pages.SettingPage.Layout;
+
namespace LB_SmartVision.Forms.Pages.ProcessPage
{
public partial class ProcessControl : UserControl
{
UserHSmartWindowControl UserHSmartWindowControl = new UserHSmartWindowControl();
+
+ public event ProcessRunBllRun OnProcessRunBllRun;
+
+ private void onProcessRunBllRun()
+ {
+ if (OnProcessRunBllRun != null)
+ {
+ OnProcessRunBllRun();
+ }
+ }
+
+ public string Title = string.Empty;
+
+ public event Control_MouseDown event_MouseDown;
+ public event Control_MouseDoubleClick event_MouseDoubleClick;
+ private void event_mouseDown(object sender, MouseEventArgs e)
+ {
+ if (event_MouseDown != null)
+ {
+ event_MouseDown(sender, e);
+ }
+ }
+ private void event_mouseDoubleClick(object sender, MouseEventArgs e)
+ {
+ if (event_MouseDoubleClick != null)
+ {
+ event_MouseDoubleClick(this, e);
+ }
+ }
ProcessRunBll ProcessRunBll
{
@@ -37,11 +67,17 @@
{
this.panel1.Controls.Add(this.UserHSmartWindowControl);
this.UserHSmartWindowControl.Dock = DockStyle.Fill;
-
+ this.UserHSmartWindowControl.event_MouseDoubleClick += event_mouseDoubleClick;
+ this.UserHSmartWindowControl.event_MouseDown += event_mouseDown;
SetTitle(_Layout.ProcessName);
-
+ Title = _Layout.Title;
if (ProcessRunBll != null)
this.label1.Text = $"鎬绘暟锛歿ProcessRunBll.total}";
+ this.isClosed = false;
+ var TaskPhotoContinue = Task.Factory.StartNew(() =>
+ {
+ ThreadCircleRun();
+ });
}
public void SetTitle(string title)
@@ -104,8 +140,8 @@
if (isCircleRuning || ProcessRunBll.bRuning)
ProcessRunBll.LogInfo($"{ProcessRunBll.Name}姝e湪杩愯", LogInfoType.ERROR);
- ProcessRunBll.Run();
-
+ //ProcessRunBll.Run();
+ onProcessRunBllRun();
msg = ProcessRunBll.Msg;
return ProcessRunBll.Result;
}
@@ -148,37 +184,36 @@
if (isCircleRuning)
{
- threadCircleRun = new Thread(ThreadCircleRun);
- threadCircleRun.IsBackground = true;
- threadCircleRun.Start();
+ this.mAutoResetEvent.Set();
}
else
{
isCircleRuning = false;
- threadCircleRun.Abort();
}
+ if (!isCircleRuning)
+ {
+ ProcessRunBll.LogInfo($"{ProcessRunBll.Name}鍏抽棴杩炵画杩愯", LogInfoType.PASS);
+ return;
+ }
+
+ ProcessRunBll.LogInfo($"{ProcessRunBll.Name}寮�鍚繛缁繍琛�", LogInfoType.WARN);
}
catch { }
}
-
- Thread threadCircleRun = null;
+ private AutoResetEvent mAutoResetEvent = new AutoResetEvent(false);
+ bool isClosed = false;
void ThreadCircleRun()
{
- if (!isCircleRuning)
+ while (!isClosed)
{
- ProcessRunBll.LogInfo($"{ProcessRunBll.Name}鍏抽棴杩炵画杩愯", LogInfoType.PASS);
- return;
- }
-
- ProcessRunBll.LogInfo($"{ProcessRunBll.Name}寮�鍚繛缁繍琛�", LogInfoType.WARN);
-
- while (isCircleRuning)
- {
- //this.BeginInvoke(new Action(() =>
- //{
try
{
+ if (isCircleRuning == false)
+ {
+ this.mAutoResetEvent.WaitOne();
+ }
+
ProcessRunBll.LogInfo($"{ProcessRunBll.Name}寮�濮嬭繍琛�", LogInfoType.WARN);
ClearObj();
bool result = ProcessRunBll.Run();
@@ -191,9 +226,7 @@
ShowHoImage(RecordImage);
}
catch { }
- //}));
-
- Thread.Sleep(100);
+ Thread.Sleep(33);
}
}
--
Gitblit v1.9.3