From 6bfb7cf4a4a77c069ae6b9d849a9df97972a36f1 Mon Sep 17 00:00:00 2001 From: jerryzeng Date: Mon, 3 Aug 2026 10:39:05 +0800 Subject: [PATCH] =?UTF-8?q?hybridPosePositioning=20version=201.3.2=20:=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=B5=B7=E7=91=9E=E9=A9=AC=E9=94=A5?= =?UTF-8?q?=E5=BD=A2=E5=B7=A5=E4=BB=B6=E7=9A=84ID=E5=8F=B7=EF=BC=8CID?= =?UTF-8?q?=E5=8F=B7=E4=B8=BA=E8=BE=93=E5=85=A5=E7=9A=84ROI=E4=B8=8B?= =?UTF-8?q?=E6=A0=87+1=EF=BC=88=E4=BB=8E1=E5=BC=80=E5=A7=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hybridPosePositioning_test.cpp | 9 ++++++--- sourceCode/hybridPosePositioning.cpp | 4 +++- sourceCode/hybridPosePositioning_Export.h | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/hybridPosePositioning_test/hybridPosePositioning_test.cpp b/hybridPosePositioning_test/hybridPosePositioning_test.cpp index 64331d4..ca70445 100644 --- a/hybridPosePositioning_test/hybridPosePositioning_test.cpp +++ b/hybridPosePositioning_test/hybridPosePositioning_test.cpp @@ -1917,7 +1917,7 @@ void HaiRuiMa_TaperedWorkpiece_test(void) for (int fidx = fileIdx[grp].nMin; fidx <= fileIdx[grp].nMax; fidx++) { - //fidx =15; + //fidx =3; char _scan_file[256]; sprintf_s(_scan_file, "%s%d_cloud.txt", dataPath[grp], fidx); std::vector> scanLines; @@ -1947,6 +1947,7 @@ void HaiRuiMa_TaperedWorkpiece_test(void) printf("%s: %d(ms), 无产品!\n", _scan_file, (int)(t2 - t1)); else printf("%s: %d(ms), errCode=%d ...", _scan_file, (int)(t2 - t1), errCode); + //输出测试结果 sprintf_s(_scan_file, "%sresult/LaserLine%d_result.txt", dataPath[grp], fidx); _outputRGBDResult_XYZUV_RGBD(_scan_file, scanLines, workpiecePositions); @@ -1962,6 +1963,8 @@ void HaiRuiMa_TaperedWorkpiece_test(void) _genXOYProjectionImage(imgName, scanLines, displayScale, workpiecePositions, rpy, angleDrawLen); #endif printf("done\n"); + for (int i = 0; i < (int)workpiecePositions.size(); i++) + printf(" objID_%d: (%f, %f, %f)\n", workpiecePositions[i].id, (float)workpiecePositions[i].center.x, (float)workpiecePositions[i].center.y, (float)workpiecePositions[i].center.z); } } } @@ -2520,8 +2523,8 @@ typedef enum int main() { //ESG_testMode testMode = keSG_2D3D定位_海瑞马_地面调平; - //ESG_testMode testMode = keSG_2D3D定位_海瑞马_锥形工件; - ESG_testMode testMode = keSG_2D3D定位_海瑞马_转子芯; + ESG_testMode testMode = keSG_2D3D定位_海瑞马_锥形工件; + //ESG_testMode testMode = keSG_2D3D定位_海瑞马_转子芯; //ESG_testMode testMode = keSG_2D3D定位_海瑞马_码垛料筐定位; //ESG_testMode testMode = keSG_2D3D定位_海瑞马_码垛工件尺寸测量; //ESG_testMode testMode = keSG_2D3D定位_海瑞马_码垛位置规划; diff --git a/sourceCode/hybridPosePositioning.cpp b/sourceCode/hybridPosePositioning.cpp index 2a03983..f050cb3 100644 --- a/sourceCode/hybridPosePositioning.cpp +++ b/sourceCode/hybridPosePositioning.cpp @@ -12,7 +12,8 @@ //version 1.2.0 : ˺׶ιλ汾ζλ //version 1.3.0 : ˺תӸоλ //version 1.3.1 : ˺תӸоλλԼ㣬ֳ룬ߺͽǵλãĿ -std::string m_strVersion = "HybridPositioning 1.3.1"; +//version 1.3.2 : ˺׶ιIDţIDΪROI±+11ʼ +std::string m_strVersion = "HybridPositioning 1.3.2"; const char* wd_hybridPositioningVersion(void) { return m_strVersion.c_str(); @@ -1532,6 +1533,7 @@ void wd_HRM_TaperedWorkpiecePositioning( WD_workpieceInfo a_obj; memset(&a_obj, 0, sizeof(WD_workpieceInfo)); a_obj.center = rgnPeaks[i].pt3D; + a_obj.id = rgnPeaks[i].nPointIdx + 1; workpiecePositions.push_back(a_obj); } return; diff --git a/sourceCode/hybridPosePositioning_Export.h b/sourceCode/hybridPosePositioning_Export.h index cd7c9d7..88b6496 100644 --- a/sourceCode/hybridPosePositioning_Export.h +++ b/sourceCode/hybridPosePositioning_Export.h @@ -14,6 +14,7 @@ typedef struct typedef struct { + int id; //Ŵ1ʼ int workpieceType; //0:; 1-ϱ; 2-±; 3-; 4-ұ; 5-Ͻ; 6-Ͻ; 7-½; 8-½; SVzNL3DPoint center; SVzNL3DPoint z_dir; //zһ