From 116ed6b584bbdb40c5b65e7cb57e039b6ae57800 Mon Sep 17 00:00:00 2001
From: C3032 <C3032@BC3032>
Date: 星期四, 08 一月 2026 11:12:25 +0800
Subject: [PATCH] 优化相机配置和图像获取逻辑

---
 LB_VisionProcesses/Cameras/2DCameraForm.cs |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/LB_VisionProcesses/Cameras/2DCameraForm.cs b/LB_VisionProcesses/Cameras/2DCameraForm.cs
index a37fb4d..107eba5 100644
--- a/LB_VisionProcesses/Cameras/2DCameraForm.cs
+++ b/LB_VisionProcesses/Cameras/2DCameraForm.cs
@@ -166,7 +166,7 @@
                         camera = new HRCamera();
                         break;
                     case CameraBrand.LBCamera:
-                        camera = new PHM6000Camera();
+                        camera = new LBCamera();
                         break;
                     default:
                         Debug.WriteLine("鏈煡鍝佺墝");
@@ -242,7 +242,7 @@
                 switch (brand)
                 {
                     case CameraBrand.LBCamera:
-                        camera = new PHM6000Camera();
+                        camera = new LBCamera();
                         break;
                     case CameraBrand.HRCamera:
                         camera = new HRCamera();
@@ -316,7 +316,7 @@
                 PropertyGrid pg = new PropertyGrid();
                 pg.Dock = DockStyle.Fill;
 
-                if (camera is PHM6000Camera phmCamera)
+                if (camera is LBCamera phmCamera)
                 {
                     pg.SelectedObject = phmCamera.GetSensorConfig();
                     pg.PropertyValueChanged += (s, ev) =>
@@ -390,21 +390,20 @@
             if (e.Bitmap == null)
                 return;
 
-            lock (e.Bitmap)
-            {
-                if (this.InvokeRequired) // 妫�鏌ユ槸鍚﹂渶瑕佸湪UI绾跨▼涓婅皟鐢�
+                lock (e.Bitmap)
                 {
-                    this.Invoke(new Action(() =>
+                    if (this.InvokeRequired) // 妫�鏌ユ槸鍚﹂渶瑕佸湪UI绾跨▼涓婅皟鐢�
+                    {
+                        this.Invoke(new Action(() =>
+                        {
+                            onlinePictureBox.Image = e.Bitmap;
+                        })); // 閫掑綊璋冪敤鑷韩锛屼絾杩欐鍦║I绾跨▼涓�
+                    }
+                    else
                     {
                         onlinePictureBox.Image = e.Bitmap;
-                    })); // 閫掑綊璋冪敤鑷韩锛屼絾杩欐鍦║I绾跨▼涓�
+                    }
                 }
-                else
-                {
-                    onlinePictureBox.Image = e.Bitmap;
-                }
-            }
-
             total.iImageCount++;
             try
             {
@@ -503,8 +502,11 @@
                     Task.Factory.StartNew(() =>
                     {
                         camera.StopGrabbing();
-                        camera.SetTriggerMode(TriggerMode.On, TriggerSource.Software);
-                        camera.StartGrabbing();
+                        if (brand != CameraBrand.LBCamera)
+                        {
+                            camera.SetTriggerMode(TriggerMode.On, TriggerSource.Software);
+                            camera.StartGrabbing();
+                        }
                     });
                 }
 

--
Gitblit v1.9.3