From 9b2ad9bafb0739f8ba1e76107011fada5e5883c3 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期五, 10 四月 2026 16:23:08 +0800
Subject: [PATCH] 修复LB3D相机参数设置问题以及新增兰宝3D相机参数存储在本地以及初始化给相机参数。

---
 LB_SmartVisionCameraDevice/PHM6000/PHM6000Sensor.cs |  302 --------------------------------------------------
 1 files changed, 0 insertions(+), 302 deletions(-)

diff --git a/LB_SmartVisionCameraDevice/PHM6000/PHM6000Sensor.cs b/LB_SmartVisionCameraDevice/PHM6000/PHM6000Sensor.cs
index edabd39..38d74bd 100644
--- a/LB_SmartVisionCameraDevice/PHM6000/PHM6000Sensor.cs
+++ b/LB_SmartVisionCameraDevice/PHM6000/PHM6000Sensor.cs
@@ -692,25 +692,9 @@
             var config = GetConfig();
             PARAM_BAR pARAM_BAR = new PARAM_BAR()
             {
-                Height = config.BarHeight,
-                Width = config.BarWidth,
-                HoleCount = config.BarHoleCount,
-                HoleDiameter = config.BarHoleDiameter,
-                HoleDistance = config.BarHoleDistance,
-                DOF = config.BarDOF,
             };
             SENSOR_POSITION stPosition = new SENSOR_POSITION
             {
-                IsReverse = config.IsReverse,
-                IsOpposite = config.IsOpposite,
-                fStdDistance = config.fStdDistance,
-                fXCenter = config.fXCenter,
-                x = config.x,
-                y = config.y,
-                z = config.z,
-                xAngle = config.xAngle,
-                yAngle = config.yAngle,
-                zAngle = config.zAngle
             };
             SysCalibration.SetSensorPosition(CaliEntry, Index, stPosition);
             var roi = GetROICaliThkiness(roiTxt, config);
@@ -728,25 +712,9 @@
             var config = GetConfig();
             PARAM_BAR param_bar = new PARAM_BAR()
             {
-                Height = config.BarHeight,
-                Width = config.BarWidth,
-                HoleCount = config.BarHoleCount,
-                HoleDiameter = config.BarHoleDiameter,
-                HoleDistance = config.BarHoleDistance,
-                DOF = config.BarDOF,
             };
             SENSOR_POSITION stPosition = new SENSOR_POSITION
             {
-                IsReverse = config.IsReverse,
-                IsOpposite = config.IsOpposite,
-                fStdDistance = config.fStdDistance,
-                fXCenter = config.fXCenter,
-                x = config.x,
-                y = config.y,
-                z = config.z,
-                xAngle = config.xAngle,
-                yAngle = config.yAngle,
-                zAngle = config.zAngle
             };
             SysCalibration.SetSensorPosition(CaliEntry, Index, stPosition);
             var roi = GetROICaliThkiness(roiTxt, config);
@@ -767,16 +735,6 @@
             var config = GetConfig();
             SENSOR_POSITION sENSOR_POSITION = new SENSOR_POSITION
             {
-                IsReverse = config.IsReverse,
-                IsOpposite = config.IsOpposite,
-                fStdDistance = config.fStdDistance,
-                fXCenter = config.fXCenter,
-                x = config.x,
-                y = config.y,
-                z = config.z,
-                xAngle = config.xAngle,
-                yAngle = config.yAngle,
-                zAngle = config.zAngle
             };
             SysCalibration.SetSensorPosition(CaliEntry, Index, sENSOR_POSITION);//璁剧疆浼犳劅鍣ㄤ綅缃�
             SysCalibration.SetRate(CaliEntry, Index, config.XAxisResolution / 1000, config.YResolution / 1000);
@@ -823,272 +781,12 @@
             });
             return r;
         }
-
-        public async Task<float[,]> MeasureOutLine鈥婽hickness鈥�()
-        {
-            var result = await Task.Run(() =>
-            {
-                var config = GetConfig();
-                SetTargetParam(config);//璁剧疆鐩爣娴嬮噺鍙傛暟
-                float[,] datas = new float[config.nPartitionX, config.nPartitionY];
-                data = new float[config.nPartitionX * config.nPartitionY];
-                int number = 0;
-                for (int i = 0; i < config.nPartitionX; i++)
-                {
-                    for (int j = 0; j < config.nPartitionY; j++)
-                    {
-                        number++;
-                        float measuredValue = SysCalibration.MeasureRoiHigh(CaliEntry, Index, number);
-                        // 淇濈暀3浣嶅皬鏁�
-                        datas[i, j] = (float)Math.Round(measuredValue, 3);
-                    }
-                }
-
-                //lBCMap = SysCalibration.GetDepthMap(CaliEntry, Index, 4);
-                return datas;
-            });
-            return result;
-        }
-
-
-
-
-        //浜岀淮鍥炬爣瀹�
-        public async Task StartLiaghtAndDeepCali(CaliModel caliModel)
-        {
-            //LBLineDataZA lBLineDataZA = new LBLineDataZA();
-
-            SENSOR_POSITION sENSOR_POSITION = new SENSOR_POSITION
-            {
-                IsReverse = caliModel.IsReverse,
-                IsOpposite = caliModel.IsOpposite,
-                fStdDistance = caliModel.fStdDistance,
-                fXCenter = caliModel.fXCenter,
-                x = caliModel.x,
-                y = caliModel.y,
-                z = caliModel.z,
-                xAngle = caliModel.xAngle,
-                yAngle = caliModel.yAngle,
-                zAngle = caliModel.zAngle,
-            };
-            var config = GetConfig();
-            PARAM_BOARD pARAM_BOARD = new PARAM_BOARD()
-            {
-                //Height = config.Height,
-                //Width = config.Width,
-                //HoleDiameter = config.HoleDiameter,
-                //HoleDistance = config.HoleDistance,
-                //LocationHoleX1 = config.LocationHoleX1,
-                //LocationHoleX2 = config.LocationHoleX2,
-                //LocationHoleY1 = config.LocationHoleY1,
-                //LocationHoleY2 = config.LocationHoleY2,
-            };
-
-
-
-            SysCalibration.SetSensorPosition(CaliEntry, Index, sENSOR_POSITION);//璁剧疆浼犳劅鍣ㄤ綅缃�
-            var roi = caliModel.Plane.Split(',');
-
-            var roi1 = GetROI(caliModel.Plane, config);
-            var roi2 = GetROI(caliModel.Hole1, config);
-            var roi3 = GetROI(caliModel.Hole2, config);
-            var roi4 = GetROI(caliModel.Hole3, config);
-
-            SysCalibration.SetRate(CaliEntry, Index, config.XAxisResolution / 1000, config.YResolution / 1000);
-            SysCalibration.SetFlatROI(CaliEntry, Index, roi1, true);
-            SysCalibration.SetHoleROI(CaliEntry, Index, 0, roi2, true);
-            SysCalibration.SetHoleROI(CaliEntry, Index, 1, roi3, true);
-            SysCalibration.SetHoleROI(CaliEntry, Index, 2, roi4, true);
-            SysCalibration.SetBoardParameter(CaliEntry, pARAM_BOARD);
-            SysCalibration.ClearData(CaliEntry, Index);//娓呴櫎浠ュ墠鏁版嵁
-            await Task.Run(() =>
-            {
-                //淇敼姝ゆ浠g爜
-                //foreach (var item in GetLineDatas())
-                unsafe
-                {
-                    IntPtr pdata = IntPtr.Zero;
-
-                    //if (sline + eline != 0 && eline > sline)
-                    //{
-                    //    for (ulong i = sline; i < eline; i++)
-                    //    {
-                    //        bool useEncoder = false;
-                    //        if (config.LineScanTriggerSource == EnumLineScanTriggerSource.缂栫爜鍣�) useEncoder = true;
-                    //        //浣跨敤浜嗗紩鐢紝浠�涔堟椂鍊欏畬鎴愪娇鐢紵濡傛灉闀挎椂闂达紝浠g爜浼氭湁鍐呭瓨椋庨櫓
-                    //        pdata = GetLineDataByIndex(Entry, i);
-                    //        if (pdata == IntPtr.Zero)
-                    //            break;
-                    //        SysCalibration.AddLineDataArray(CaliEntry, Index, pdata, useEncoder, 1);//鏈�鍚庝釜鍙傛暟鏄粈涔堟剰鎬�
-                    //    }
-                    //}
-                    //else
-                    {
-                        ulong nindex = 0;
-
-                        while ((pdata = PHM6000Profiler.GetLineDataByIndex(Entry, nindex)) != IntPtr.Zero)
-                        {
-                            bool useEncoder = false;
-                            if (config.LineScanTriggerSource == EnumLineScanTriggerSource.缂栫爜鍣�) useEncoder = true;
-                            //浣跨敤浜嗗紩鐢紝浠�涔堟椂鍊欏畬鎴愪娇鐢紵濡傛灉闀挎椂闂达紝浠g爜浼氭湁鍐呭瓨椋庨櫓
-                            SysCalibration.AddLineDataArray(CaliEntry, Index, pdata, useEncoder, 1);//鏈�鍚庝釜鍙傛暟鏄粈涔堟剰鎬�          
-                            nindex++;
-                        }
-                    }
-                }
-                SysCalibration.AlignmentMovingFlat(CaliEntry, Index);//涓嬫鎵撳紑绋嬪簭鏃跺彲鑳戒細搴忓彿閿欒
-                //SysCalibration.SystemCalibration(caliEntry);//error娌℃湁鐪熷疄鐨勫瓟锛屽氨浼氬崱杩涚▼
-            });
-        }
-
-
-        //娴嬮噺鍘氬害
-        public async Task<float> MeasureDistance()
-        {
-
-            var config = GetConfig();
-            SENSOR_POSITION sENSOR_POSITION = new SENSOR_POSITION
-            {
-                //IsReverse = CaliModel.IsReverse,
-                //IsOpposite = CaliModel.IsOpposite,
-                //fStdDistance = CaliModel.fStdDistance,
-                //fXCenter = CaliModel.fXCenter,
-                //x = CaliModel.x,
-                //y = CaliModel.y,
-                //z = CaliModel.z,
-                //xAngle = CaliModel.xAngle,
-                //yAngle = CaliModel.yAngle,
-                //zAngle = CaliModel.zAngle,
-            };
-            SysCalibration.SetSensorPosition(CaliEntry, Index, sENSOR_POSITION);//璁剧疆浼犳劅鍣ㄤ綅缃�
-            SysCalibration.SetRate(CaliEntry, Index, config.XAxisResolution / 1000, config.YResolution / 1000);
-            SysCalibration.ClearData(CaliEntry, Index);//娓呴櫎浠ュ墠鏁版嵁
-            var r = await Task.Run<float>(() =>
-            {
-                //杈撳叆鏂版暟鎹�
-                unsafe
-                {
-                    IntPtr pdata = IntPtr.Zero;
-
-                    if (sline + eline != 0 && eline > sline)
-                    {
-                        for (ulong i = sline; i < eline; i++)
-                        {
-                            bool useEncoder = false;
-                            if (config.LineScanTriggerSource == EnumLineScanTriggerSource.缂栫爜鍣�) useEncoder = true;
-                            //浣跨敤浜嗗紩鐢紝浠�涔堟椂鍊欏畬鎴愪娇鐢紵濡傛灉闀挎椂闂达紝浠g爜浼氭湁鍐呭瓨椋庨櫓
-                            pdata = PHM6000Profiler.GetLineDataByIndex(Entry, i);
-                            if (pdata == IntPtr.Zero)
-                                break;
-                            SysCalibration.AddLineDataArray(CaliEntry, Index, pdata, useEncoder, 1);//鏈�鍚庝釜鍙傛暟鏄粈涔堟剰鎬�
-                        }
-                    }
-                    else
-                    {
-                        ulong nindex = 0;
-
-                        while ((pdata = PHM6000Profiler.GetLineDataByIndex(Entry, nindex)) != IntPtr.Zero)
-                        {
-                            bool useEncoder = false;
-                            if (config.LineScanTriggerSource == EnumLineScanTriggerSource.缂栫爜鍣�) useEncoder = true;
-                            //浣跨敤浜嗗紩鐢紝浠�涔堟椂鍊欏畬鎴愪娇鐢紵濡傛灉闀挎椂闂达紝浠g爜浼氭湁鍐呭瓨椋庨櫓
-                            SysCalibration.AddLineDataArray(CaliEntry, Index, pdata, useEncoder, 1);//鏈�鍚庝釜鍙傛暟鏄粈涔堟剰鎬�          
-                            nindex++;
-                        }
-                    }
-                }
-                SetTargetParam(config);//璁剧疆鐩爣娴嬮噺鍙傛暟
-                //var result = SysCalibration.MeasureDistance(CaliEntry);
-                float measuredValue = SysCalibration.MeasureTargetHigh(CaliEntry, Index);
-                var result = (float)Math.Round(measuredValue, 3);
-                return result;
-            });
-            return r;
-        }
-
         public static ulong sline = 0;
         public static ulong eline = 0;
 
 
         public static IntPtr lBCMap = IntPtr.Zero;
         public static float[] data = null;
-
-        //娴嬮噺鍑瑰嚫
-        public async Task<float[,]> Measure鈥婾neven鈥�()
-        {
-
-            var result = await Task.Run(() =>
-            {
-                var config = GetConfig();
-                //SENSOR_POSITION sENSOR_POSITION = new SENSOR_POSITION
-                //{
-                //    IsReverse = CaliModel.IsReverse,
-                //    IsOpposite = CaliModel.IsOpposite,
-                //    fStdDistance = CaliModel.fStdDistance,
-                //    fXCenter = CaliModel.fXCenter,
-                //    x = CaliModel.x,
-                //    y = CaliModel.y,
-                //    z = CaliModel.z,
-                //    xAngle = CaliModel.xAngle,
-                //    yAngle = CaliModel.yAngle,
-                //    zAngle = CaliModel.zAngle,
-                //};
-                //SysCalibration.SetSensorPosition(CaliEntry, Index, sENSOR_POSITION);//璁剧疆浼犳劅鍣ㄤ綅缃�
-                //SysCalibration.SetRate(CaliEntry, Index, config.XAxisResolution / 1000, config.YResolution / 1000);
-                //SysCalibration.ClearData(CaliEntry, Index);//娓呴櫎浠ュ墠鏁版嵁
-
-                ////杈撳叆鏂版暟鎹�
-                //unsafe
-                //{
-                //    IntPtr pdata = IntPtr.Zero;
-
-                //    if (sline + eline != 0 && eline > sline)
-                //    {
-                //        for (ulong i = sline; i < eline; i++)
-                //        {
-                //            bool useEncoder = false;
-                //            if (config.LineScanTriggerSource == EnumLineScanTriggerSource.缂栫爜鍣�) useEncoder = true;
-                //            //浣跨敤浜嗗紩鐢紝浠�涔堟椂鍊欏畬鎴愪娇鐢紵濡傛灉闀挎椂闂达紝浠g爜浼氭湁鍐呭瓨椋庨櫓
-                //            pdata = GetLineDataByIndex(Entry, i);
-                //            if (pdata == IntPtr.Zero)
-                //                break;
-                //            SysCalibration.AddLineDataArray(CaliEntry, Index, pdata, useEncoder, 1);//鏈�鍚庝釜鍙傛暟鏄粈涔堟剰鎬�
-                //        }
-                //    }
-                //    else
-                //    {
-                //        ulong nindex = 0;
-
-                //        while ((pdata = GetLineDataByIndex(Entry, nindex)) != IntPtr.Zero)
-                //        {
-                //            bool useEncoder = false;
-                //            if (config.LineScanTriggerSource == EnumLineScanTriggerSource.缂栫爜鍣�) useEncoder = true;
-                //            //浣跨敤浜嗗紩鐢紝浠�涔堟椂鍊欏畬鎴愪娇鐢紵濡傛灉闀挎椂闂达紝浠g爜浼氭湁鍐呭瓨椋庨櫓
-                //            SysCalibration.AddLineDataArray(CaliEntry, Index, pdata, useEncoder, 1);//鏈�鍚庝釜鍙傛暟鏄粈涔堟剰鎬�          
-                //            nindex++;
-                //        }
-                //    }
-                //}
-                SetTargetParam(config);//璁剧疆鐩爣娴嬮噺鍙傛暟
-                float[,] datas = new float[config.nPartitionX, config.nPartitionY];
-                data = new float[config.nPartitionX * config.nPartitionY];
-                int number = 0;
-                for (int i = 0; i < config.nPartitionX; i++)
-                {
-                    for (int j = 0; j < config.nPartitionY; j++)
-                    {
-                        number++;
-                        float measuredValue = SysCalibration.MeasureRoiHigh(CaliEntry, Index, number);
-                        // 淇濈暀3浣嶅皬鏁�
-                        datas[i, j] = (float)Math.Round(measuredValue, 3);
-                    }
-                }
-
-                //lBCMap = SysCalibration.GetDepthMap(CaliEntry, Index, 4);
-                return datas;
-            });
-            return result;
-        }
 
 
         LB_ROI GetROI(string s, PHM6000SensorConfig config)

--
Gitblit v1.9.3