From 168c0e92a97c58258014d10951ba3f9bf790e195 Mon Sep 17 00:00:00 2001 From: jerryzeng Date: Fri, 17 Jul 2026 19:36:08 +0800 Subject: [PATCH] =?UTF-8?q?planeLocalization=20version=201.3.0=20:=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86=E5=8F=96=E5=8F=91=E5=8A=A8=E6=9C=BA?= =?UTF-8?q?=E7=82=B9=E7=89=B9=E5=BE=81=E7=82=B9=E7=9A=84=E4=B8=80=E4=B8=AA?= =?UTF-8?q?Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HC_planeLocalization_test.cpp | 2 +- sourceCode/planeLocalization.cpp | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/HC_planeLocalization_test/HC_planeLocalization_test.cpp b/HC_planeLocalization_test/HC_planeLocalization_test.cpp index c176309..b488fbf 100644 --- a/HC_planeLocalization_test/HC_planeLocalization_test.cpp +++ b/HC_planeLocalization_test/HC_planeLocalization_test.cpp @@ -633,7 +633,7 @@ int main() for (int fidx = fileIdx[grp].nMin; fidx <= fileIdx[grp].nMax; fidx++) { - //fidx =7; + //fidx =31; char _scan_file[256]; sprintf_s(_scan_file, "%sLaserData_%d.txt", dataPath[grp], fidx); diff --git a/sourceCode/planeLocalization.cpp b/sourceCode/planeLocalization.cpp index 1e6f462..a4eea26 100644 --- a/sourceCode/planeLocalization.cpp +++ b/sourceCode/planeLocalization.cpp @@ -8,7 +8,8 @@ //version 1.0.0 : base version release to customer //version 1.1.0 : 优化了机鼻点提取(迭代),增加了没有飞机的输出 //version 1.2.0 : 修正了回归测试中发现的问题 -std::string m_strVersion = " PlaneLocalization 1.2.0"; +//version 1.3.0 : 修正了取发动机点特征点的一个Bug +std::string m_strVersion = " PlaneLocalization 1.3.0"; const char* wd_PlaneLocalizationVersion(void) { return m_strVersion.c_str(); @@ -699,9 +700,12 @@ SSX_planeInfo wd_planeLocalization( for (int i = 0; i < (int)objClusters[clusterIdx].size(); i++) { - double dist = sqrt(pow(nosePoint.pt3D.x - objClusters[clusterIdx][i].pt3D.x, 2) + pow(nosePoint.pt3D.z - objClusters[clusterIdx][i].pt3D.z, 2)); - if ((dist >= engineToNoseDistRange.min) && (dist <= engineToNoseDistRange.max)) - distanceValidData[idx].push_back(objClusters[clusterIdx][i]); + if (objClusters[clusterIdx][i].pt3D.z > nosePoint.pt3D.z) + { + double dist = sqrt(pow(nosePoint.pt3D.x - objClusters[clusterIdx][i].pt3D.x, 2) + pow(nosePoint.pt3D.z - objClusters[clusterIdx][i].pt3D.z, 2)); + if ((dist >= engineToNoseDistRange.min) && (dist <= engineToNoseDistRange.max)) + distanceValidData[idx].push_back(objClusters[clusterIdx][i]); + } } } //计算ROI