From 6ab3f80d997e1f513b14abdd81d92acdc33ffa62 Mon Sep 17 00:00:00 2001 From: jerryzeng Date: Thu, 16 Apr 2026 15:38:46 +0800 Subject: [PATCH] =?UTF-8?q?wheelArchHeigthMeasure=20version=201.3.6=20:=20?= =?UTF-8?q?=E8=BD=AE=E7=9C=89=E5=88=B0=E8=BD=AE=E5=BF=83=E9=AB=98=E5=BA=A6?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=96=B9=E6=B3=95=E8=BF=9B=E8=A1=8C=E4=BA=86?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=EF=BC=8C=E9=87=8D=E6=96=B0=E4=BB=8E=E7=94=B1?= =?UTF-8?q?=E4=B8=A4=E7=82=B9=E8=B7=9D=E7=A6=BB=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?Y=E9=AB=98=E5=BA=A6=E5=B7=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sourceCode/wheelArchHeigthMeasure.cpp | 6 ++++-- wheelArchHeigthMeasure_test/wheelArchHeigthMeasure_test.cpp | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sourceCode/wheelArchHeigthMeasure.cpp b/sourceCode/wheelArchHeigthMeasure.cpp index b651dee..971bf49 100644 --- a/sourceCode/wheelArchHeigthMeasure.cpp +++ b/sourceCode/wheelArchHeigthMeasure.cpp @@ -14,7 +14,8 @@ //version 1.3.3 : 轮眉点的提取进行了改进,修正了可能的取点错误 //version 1.3.4 : 轮眉到轮心高度计算方法进行了修正,由Y高度差修改为两点距离 //version 1.3.5 : 改进轮眉取点方法。 -std::string m_strVersion = "1.3.5"; +//version 1.3.6 : 轮眉到轮心高度计算方法进行了修正,重新从由两点距离修改为Y高度差。 +std::string m_strVersion = "1.3.6"; const char* wd_wheelArchHeigthMeasureVersion(void) { return m_strVersion.c_str(); @@ -1025,7 +1026,8 @@ WD_wheelArchInfo wd_wheelArchHeigthMeasure( } result.centerLine[0] = { downWheelPt.x - outLineLen, centerY, scanLines[searchLine][minPtIdx].pt3D.z }; result.centerLine[1] = { downWheelPt.x + outLineLen, centerY, scanLines[searchLine][minPtIdx].pt3D.z }; - result.archToCenterHeigth = sqrt(pow(centerY - arcPt.y, 2) + pow(scanLines[searchLine][minPtIdx].pt3D.z - arcPt.z, 2)); // centerY - arcPt.y; + //result.archToCenterHeigth = sqrt(pow(centerY - arcPt.y, 2) + pow(scanLines[searchLine][minPtIdx].pt3D.z - arcPt.z, 2)); // centerY - arcPt.y; + result.archToCenterHeigth = centerY - arcPt.y; result.archToGroundHeigth = groundCalibPara.planeHeight - arcPt.y; //将数据重新投射回原来的坐标系,以保持手眼标定结果正确 for (int i = 0; i < lineNum; i++) diff --git a/wheelArchHeigthMeasure_test/wheelArchHeigthMeasure_test.cpp b/wheelArchHeigthMeasure_test/wheelArchHeigthMeasure_test.cpp index acf38fc..6fc617a 100644 --- a/wheelArchHeigthMeasure_test/wheelArchHeigthMeasure_test.cpp +++ b/wheelArchHeigthMeasure_test/wheelArchHeigthMeasure_test.cpp @@ -2732,7 +2732,7 @@ int main() }; SVzNLRange fileIdx[TEST_GROUP] = { - {1,2}, {1,4}, {1,9}, {5,9}, {1,10},{1,10} + {1,2}, {1,4}, {11,15}, {11,15}, {11,15},{16,16} }; SSG_planeCalibPara poseCalibPara; @@ -2756,7 +2756,7 @@ int main() char _scan_file[256]; int endGroup = TEST_GROUP - 1; - for (int grp = 2; grp <= endGroup; grp++) + for (int grp = 5; grp <= endGroup; grp++) { char calibFile[250]; sprintf_s(calibFile, "%sground_calib_para.txt", dataPath[grp]);