hybridPosePositioning
version 1.4.4 : 转子钢芯,添加了异常保护
This commit is contained in:
parent
7b3cb958ef
commit
85fb6d1434
@ -2364,13 +2364,13 @@ void HaiRuiMa_rotorCorePositioning_test(void)
|
|||||||
};
|
};
|
||||||
|
|
||||||
SVzNLRange fileIdx[HRM_RotorCore_TEST_GROUP] = {
|
SVzNLRange fileIdx[HRM_RotorCore_TEST_GROUP] = {
|
||||||
{1,10}, {3,70},{8,8}, {5,47}, {1,54}, {1,6}
|
{1,10}, {3,70},{9,9}, {5,47}, {1,54}, {1,6}
|
||||||
};
|
};
|
||||||
|
|
||||||
const char* ver = wd_hybridPositioningVersion();
|
const char* ver = wd_hybridPositioningVersion();
|
||||||
printf("ver:%s\n", ver);
|
printf("ver:%s\n", ver);
|
||||||
|
|
||||||
for (int grp = 4; grp <= 4; grp++)
|
for (int grp = 2; grp <= 2; grp++)
|
||||||
{
|
{
|
||||||
SSG_planeCalibPara groundCalibPara;
|
SSG_planeCalibPara groundCalibPara;
|
||||||
//初始化成单位阵
|
//初始化成单位阵
|
||||||
|
|||||||
@ -26,7 +26,8 @@
|
|||||||
//version 1.4.1 : 转子钢芯, 每个输出结果添加了2D图像坐标
|
//version 1.4.1 : 转子钢芯, 每个输出结果添加了2D图像坐标
|
||||||
//version 1.4.2 : 转子钢芯, 优化了点云中垂直部分去除的门限
|
//version 1.4.2 : 转子钢芯, 优化了点云中垂直部分去除的门限
|
||||||
//version 1.4.3 : 转子钢芯, (1)分层系数和边距系数添加-1.0参数值,表示不进行分层或边距。(2)添加选项选择使用工件的自身法向或统一使用调平地面法向
|
//version 1.4.3 : 转子钢芯, (1)分层系数和边距系数添加-1.0参数值,表示不进行分层或边距。(2)添加选项选择使用工件的自身法向或统一使用调平地面法向
|
||||||
std::string m_strVersion = "HybridPositioning 1.4.3";
|
//version 1.4.4 : 转子钢芯,添加了异常保护
|
||||||
|
std::string m_strVersion = "HybridPositioning 1.4.4";
|
||||||
const char* wd_hybridPositioningVersion(void)
|
const char* wd_hybridPositioningVersion(void)
|
||||||
{
|
{
|
||||||
return m_strVersion.c_str();
|
return m_strVersion.c_str();
|
||||||
@ -1760,28 +1761,39 @@ void wd_HRM_RotorCorePositioning(
|
|||||||
//统计ROI中的扫描线和PtIdx范围
|
//统计ROI中的扫描线和PtIdx范围
|
||||||
SVzNLRange roiLineIndice = { INT_MAX, 0 };
|
SVzNLRange roiLineIndice = { INT_MAX, 0 };
|
||||||
SVzNLRange roiPtIndice = { INT_MAX, 0 };
|
SVzNLRange roiPtIndice = { INT_MAX, 0 };
|
||||||
|
bool isValid = true;
|
||||||
for (int x = L; x <= R; x++)
|
for (int x = L; x <= R; x++)
|
||||||
{
|
{
|
||||||
for (int y = T; y <= B; y++)
|
for (int y = T; y <= B; y++)
|
||||||
{
|
{
|
||||||
mapping2DTo3D& a_mapping = mappingTable[x][y];
|
if (x < mappingTable.size())
|
||||||
for (int m = 0; m < (int)a_mapping.mappings.size(); m++)
|
|
||||||
{
|
{
|
||||||
int lineIdx = a_mapping.mappings[m].lineIdx;
|
if (y < mappingTable[x].size())
|
||||||
int ptIdx = a_mapping.mappings[m].ptIdx;
|
|
||||||
if (scanLines[lineIdx][ptIdx].pt3D.z > 1e-4)
|
|
||||||
{
|
{
|
||||||
scanLinesInput[lineIdx][ptIdx].nPointIdx &= 0xffff0000;
|
mapping2DTo3D& a_mapping = mappingTable[x][y];
|
||||||
scanLinesInput[lineIdx][ptIdx].nPointIdx |= (idx + 1);
|
for (int m = 0; m < (int)a_mapping.mappings.size(); m++)
|
||||||
roiLineIndice.nMin = roiLineIndice.nMin > lineIdx ? lineIdx : roiLineIndice.nMin;
|
{
|
||||||
roiLineIndice.nMax = roiLineIndice.nMax < lineIdx ? lineIdx : roiLineIndice.nMax;
|
int lineIdx = a_mapping.mappings[m].lineIdx;
|
||||||
roiPtIndice.nMin = roiPtIndice.nMin > ptIdx ? ptIdx : roiPtIndice.nMin;
|
int ptIdx = a_mapping.mappings[m].ptIdx;
|
||||||
roiPtIndice.nMax = roiPtIndice.nMax < ptIdx ? ptIdx : roiPtIndice.nMax;
|
if (scanLines[lineIdx][ptIdx].pt3D.z > 1e-4)
|
||||||
|
{
|
||||||
|
scanLinesInput[lineIdx][ptIdx].nPointIdx &= 0xffff0000;
|
||||||
|
scanLinesInput[lineIdx][ptIdx].nPointIdx |= (idx + 1);
|
||||||
|
roiLineIndice.nMin = roiLineIndice.nMin > lineIdx ? lineIdx : roiLineIndice.nMin;
|
||||||
|
roiLineIndice.nMax = roiLineIndice.nMax < lineIdx ? lineIdx : roiLineIndice.nMax;
|
||||||
|
roiPtIndice.nMin = roiPtIndice.nMin > ptIdx ? ptIdx : roiPtIndice.nMin;
|
||||||
|
roiPtIndice.nMax = roiPtIndice.nMax < ptIdx ? ptIdx : roiPtIndice.nMax;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
isValid = false;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
isValid = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (roiLineIndice.nMax < roiLineIndice.nMin)
|
if ( (roiLineIndice.nMax < roiLineIndice.nMin) || (isValid == false))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//生成ROI中的扫描数据
|
//生成ROI中的扫描数据
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user