wheelArchHeigthMeasure version 1.3.4 :
轮眉到轮心高度计算方法进行了修正,由Y高度差修改为两点距离
This commit is contained in:
parent
676b597a04
commit
43faaa9fd9
@ -12,7 +12,8 @@
|
||||
//version 1.3.1 : 添加了一个检测轮毂是否存在的函数
|
||||
//version 1.3.2 : 针对不理想点云改进了算法,增强鲁棒性
|
||||
//version 1.3.3 : 轮眉点的提取进行了改进,修正了可能的取点错误
|
||||
std::string m_strVersion = "1.3.3";
|
||||
//version 1.3.4 : 轮眉到轮心高度计算方法进行了修正,由Y高度差修改为两点距离
|
||||
std::string m_strVersion = "1.3.4";
|
||||
const char* wd_wheelArchHeigthMeasureVersion(void)
|
||||
{
|
||||
return m_strVersion.c_str();
|
||||
@ -966,7 +967,7 @@ 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 = centerY - arcPt.y;
|
||||
result.archToCenterHeigth = sqrt(pow(centerY - arcPt.y, 2) + pow(scanLines[searchLine][minPtIdx].pt3D.z - arcPt.z, 2)); // centerY - arcPt.y;
|
||||
result.archToGroundHeigth = groundCalibPara.planeHeight - arcPt.y;
|
||||
//将数据重新投射回原来的坐标系,以保持手眼标定结果正确
|
||||
for (int i = 0; i < lineNum; i++)
|
||||
|
||||
@ -2725,7 +2725,7 @@ int main()
|
||||
};
|
||||
|
||||
SVzNLRange fileIdx[TEST_GROUP] = {
|
||||
{1,2}, {1,4}, {1,7}, {1,7}, {1,7},{1,7}
|
||||
{1,2}, {1,4}, {8,9}, {8,9}, {8,9},{9,9}
|
||||
};
|
||||
|
||||
SSG_planeCalibPara poseCalibPara;
|
||||
@ -2739,7 +2739,7 @@ int main()
|
||||
poseCalibPara.planeCalib[6] = 0.0;
|
||||
poseCalibPara.planeCalib[7] = 0.0;
|
||||
poseCalibPara.planeCalib[8] = 1.0;
|
||||
poseCalibPara.planeHeight = -1.0;
|
||||
poseCalibPara.planeHeight = 500.0;
|
||||
for (int i = 0; i < 9; i++)
|
||||
poseCalibPara.invRMatrix[i] = poseCalibPara.planeCalib[i];
|
||||
|
||||
@ -2749,7 +2749,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]);
|
||||
@ -2834,7 +2834,7 @@ int main()
|
||||
sprintf_s(_dbg_file, "%sresult\\LaserLine%d_result.txt", dataPath[grp], fidx);
|
||||
_outputScanDataFile_RGBD_obj(_dbg_file, scanData, 0, 0, 0, wheelArcHeight);
|
||||
#endif
|
||||
printf("%s: height=%f, arcToGrund=%f, time=%d(ms)!\n", _scan_file, wheelArcHeight.archToCenterHeigth, wheelArcHeight.archToGroundHeigth, (int)(t2 - t1));
|
||||
printf("%s: arcY=%f, height=%f, arcToGrund=%f, time=%d(ms)!\n", _scan_file, wheelArcHeight.wheelArchPos.y, wheelArcHeight.archToCenterHeigth, wheelArcHeight.archToGroundHeigth, (int)(t2 - t1));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user