void smooth(std::vector<std::vector<double>>& centerLine, std::vector<std::vector<double>>& smoothedCenterLine)
{
smoothedCenterLine.resize(centerLine.size());
int step = 2;
for (int i = 0; i < centerLine.size(); i++)
{
std::vector<double> val = {0, 0, 0};
for (int m = i - step; m <= (i + step); m++)
{
int index = m;
if (index < 0)
index = 0;
else if (index > (centerLine.size() - 1))
index = centerLine.size() - 1;
for (int n = 0; n < 3; n++)
{
val[n] += centerLine[index][n];
}
}
for (int n = 0; n < 3; n++)
{
val[n] /= (2 * step + 1);
}
smoothedCenterLine[i] = val;
}
}
平滑曲线(基于均值)
最新推荐文章于 2023-11-22 16:13:39 发布