wheelArchHeigthMeasure version 1.4.2 :
优化标定块凹槽长度计算方法,添加了噪点滤除。
This commit is contained in:
parent
9d3cb1c18d
commit
7063642782
@ -17,7 +17,8 @@
|
||||
//version 1.3.6 : 轮眉到轮心高度计算方法进行了修正,重新从由两点距离修改为Y高度差。
|
||||
//version 1.4.0 : 添加了标定块凹槽长度计算API。
|
||||
//version 1.4.1 : 优化了标定块凹槽长度计算方法,使用前部1/4和后部1/4点计算,跳开中间波动比较大的点。
|
||||
std::string m_strVersion = "1.4.1";
|
||||
//version 1.4.2 : 优化标定块凹槽长度计算方法,添加了噪点滤除。
|
||||
std::string m_strVersion = "1.4.2";
|
||||
const char* wd_wheelArchHeigthMeasureVersion(void)
|
||||
{
|
||||
return m_strVersion.c_str();
|
||||
@ -1200,21 +1201,39 @@ double wd_getCalibrationBlockLength(
|
||||
|
||||
//计算长度
|
||||
std::vector<std::vector<SVzNL3DPosition>> validLines;
|
||||
|
||||
for (int line = 0; line < lineNum; line++)
|
||||
{
|
||||
std::vector< SVzNL3DPosition> lineData;
|
||||
std::vector< int> ptIdxCheck;
|
||||
for (int j = 0; j < linePtNum; j++)
|
||||
{
|
||||
if (objMask[line][j] >= 0)
|
||||
{
|
||||
int clusterPtIdx = objMask[line][j];
|
||||
if (objClusters[objIdx][clusterPtIdx].pt3D.z > 1e-4)
|
||||
{
|
||||
lineData.push_back(objClusters[objIdx][clusterPtIdx]);
|
||||
ptIdxCheck.push_back(j);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (lineData.size() > 10)
|
||||
{
|
||||
bool validLine = true;
|
||||
for (int j = 1; j < (int)lineData.size(); j++)
|
||||
{
|
||||
if (ptIdxCheck[j] - ptIdxCheck[j - 1] > 3)
|
||||
{
|
||||
validLine = false;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
if(true == validLine)
|
||||
validLines.push_back(lineData);
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<double> gaugeLen;
|
||||
int validLineNum = (int)validLines.size();
|
||||
|
||||
@ -2960,7 +2960,7 @@ int main()
|
||||
};
|
||||
|
||||
SVzNLRange fileIdx[4] = {
|
||||
{1,20}, {1,20}, {1,20}, {1,21}
|
||||
{1,20}, {1,20}, {21,21}, {22,22}
|
||||
};
|
||||
|
||||
const char* ver = wd_wheelArchHeigthMeasureVersion();
|
||||
@ -2996,9 +2996,9 @@ int main()
|
||||
|
||||
SSG_treeGrowParam growParam;
|
||||
growParam.maxLineSkipNum = 5;
|
||||
growParam.yDeviation_max = 5.0;
|
||||
growParam.maxSkipDistance = 5.0;
|
||||
growParam.zDeviation_max = 5.0;//
|
||||
growParam.yDeviation_max = 1.5;
|
||||
growParam.maxSkipDistance = 1.5;
|
||||
growParam.zDeviation_max = 1.5;//
|
||||
growParam.minLTypeTreeLen = 100; //mm
|
||||
growParam.minVTypeTreeLen = 100; //mm
|
||||
SVzNLRangeD calibratiionBlockYRange = { -1000, 500 };
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user