wheelArchHeigthMeasure version 1.3.6 :

轮眉到轮心高度计算方法进行了修正,重新从由两点距离修改为Y高度差。
This commit is contained in:
jerryzeng 2026-04-16 15:38:46 +08:00
parent c6a52d1aba
commit 6ab3f80d99
2 changed files with 6 additions and 4 deletions

View File

@ -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++)

View File

@ -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]);