Merge branch 'main' of http://gitea.mnutil.com/jerryzeng/algoLib
This commit is contained in:
commit
86fb9e0d21
@ -682,7 +682,7 @@ void sg_getLineLocalPeaks_2(
|
||||
std::vector< SVzNL3DPosition> zBtm;
|
||||
for (int i = 0; i < dataSize; i++)
|
||||
{
|
||||
if (i == 355)
|
||||
if (i == 141)
|
||||
int kkk = 1;
|
||||
lineData[i].nPointIdx = i;
|
||||
SVzNL3DPosition* curr_data = &lineData[i];
|
||||
|
||||
@ -11,7 +11,8 @@
|
||||
//version 1.2.0 : 算法完成了6轴验证
|
||||
//version 1.3.0 : (1)算法进行了迭代 (2)对结果进行了分层和排序,输出最上层目标
|
||||
//version 1.4.0 : 添加了华航孔定位功能
|
||||
std::string m_strVersion = "1.4.0";
|
||||
//version 1.4.1 : 华航孔定位客户发布初始版本,修正了1.4.0版本的一些问题
|
||||
std::string m_strVersion = "1.4.1";
|
||||
const char* wd_workpieceHolePositioningVersion(void)
|
||||
{
|
||||
return m_strVersion.c_str();
|
||||
@ -430,7 +431,7 @@ void wd_getHoleInfo(
|
||||
int nullPtSize = 0;
|
||||
SSG_ROIRectD roi = { -1, -1, -1, -1 };
|
||||
SVzNLRange ptIdxRange = { -1, -1 };
|
||||
if (a_tree.treeNodes.size() > 2)
|
||||
if (a_tree.treeNodes.size() > 0)
|
||||
{
|
||||
for (int m = 0; m < (int)a_tree.treeNodes.size(); m++)
|
||||
{
|
||||
@ -465,7 +466,7 @@ void wd_getHoleInfo(
|
||||
int nullPtSize = 0;
|
||||
SSG_ROIRectD roi = { -1, -1, -1, -1 };
|
||||
SVzNLRange ptIdxRange = { -1, -1 };
|
||||
if (a_tree.treeNodes.size() > 2)
|
||||
if (a_tree.treeNodes.size() > 0)
|
||||
{
|
||||
for (int m = 0; m < (int)a_tree.treeNodes.size(); m++)
|
||||
{
|
||||
@ -1062,12 +1063,12 @@ void wd_HolePositioning(
|
||||
std::vector<std::vector<SSG_basicFeature1D>> zMaxPeaks_v;
|
||||
for (int line = 0; line < lineNum; line++)
|
||||
{
|
||||
if (line == 1047)
|
||||
if (line == 152)
|
||||
int kkk = 1;
|
||||
|
||||
std::vector<SVzNL3DPosition>& lineData = scanLines[line];
|
||||
//滤波,滤除异常点
|
||||
sg_lineDataRemoveOutlier_changeOriginData(&lineData[0], linePtNum, filterParam);
|
||||
//sg_lineDataRemoveOutlier_changeOriginData(&lineData[0], linePtNum, filterParam);
|
||||
|
||||
std::vector< SSG_pntDirAngle> line_ptDirAngles;
|
||||
wd_computeDirAngle_wholeLine(lineData, cornerParam, line_ptDirAngles);
|
||||
@ -1108,12 +1109,12 @@ void wd_HolePositioning(
|
||||
std::vector<std::vector<SSG_pntDirAngle>> pntDirAngles_h;
|
||||
for (int line = 0; line < linePtNum; line++)
|
||||
{
|
||||
if (line == 974)
|
||||
if (line == 234)
|
||||
int kkk = 1;
|
||||
std::vector<SVzNL3DPosition>& lineData = hLines_raw[line];
|
||||
//滤波,滤除异常点
|
||||
int ptNum = (int)lineData.size();
|
||||
sg_lineDataRemoveOutlier_changeOriginData(&lineData[0], ptNum, filterParam);
|
||||
//sg_lineDataRemoveOutlier_changeOriginData(&lineData[0], ptNum, filterParam);
|
||||
|
||||
std::vector< SSG_pntDirAngle> line_ptDirAngles;
|
||||
wd_computeDirAngle_wholeLine(lineData, cornerParam, line_ptDirAngles);
|
||||
@ -1135,6 +1136,8 @@ void wd_HolePositioning(
|
||||
std::vector<_zMaxInfo> objPeaks;
|
||||
for (int line = 0; line < lineNum; line++)
|
||||
{
|
||||
if (line == 144)
|
||||
int kkk = 1;
|
||||
std::vector<SSG_basicFeature1D>& a_lineZMax = zMaxPeaks_v[line];
|
||||
for (int j = 0; j < (int)a_lineZMax.size(); j++)
|
||||
{
|
||||
@ -1188,8 +1191,8 @@ void wd_HolePositioning(
|
||||
{
|
||||
a_info.pkValue = objPeaks[j].pkValue;
|
||||
a_info.zMaxPos = objPeaks[j].zMaxPos;
|
||||
objPeaks[j].flag = -1;
|
||||
}
|
||||
objPeaks[j].flag = -1;
|
||||
}
|
||||
}
|
||||
objPeaks[i] = a_info;
|
||||
|
||||
@ -830,11 +830,11 @@ void HuaHang_holePosition_test(void)
|
||||
printf("ver:%s\n", ver);
|
||||
|
||||
#if TEST_COMPUTE_HOLE
|
||||
for (int grp = 1; grp <= 3; grp++)
|
||||
for (int grp = 0; grp <= 3; grp++)
|
||||
{
|
||||
for (int fidx = fileIdx[grp].nMin; fidx <= fileIdx[grp].nMax; fidx++)
|
||||
{
|
||||
//fidx =4;
|
||||
//fidx =2;
|
||||
char _scan_file[256];
|
||||
sprintf_s(_scan_file, "%sLaserData_%d.txt", dataPath[grp], fidx);
|
||||
std::vector<std::vector< SVzNL3DPosition>> scanLines;
|
||||
@ -846,7 +846,7 @@ void HuaHang_holePosition_test(void)
|
||||
|
||||
SSG_lineSegParam lineSegPara;
|
||||
lineSegPara.distScale = 25.0;
|
||||
lineSegPara.segGapTh_y = 15.0; //
|
||||
lineSegPara.segGapTh_y = 25.0; //
|
||||
lineSegPara.segGapTh_z = 0.0; //z方向间隔大于10mm认为是分段
|
||||
|
||||
SSG_cornerParam cornerParam;
|
||||
@ -865,8 +865,8 @@ void HuaHang_holePosition_test(void)
|
||||
growParam.yDeviation_max = 4.0;
|
||||
growParam.maxSkipDistance = 0.0;
|
||||
growParam.zDeviation_max = 10.0;//
|
||||
growParam.minLTypeTreeLen = 2.0; //mm
|
||||
growParam.minVTypeTreeLen = 2.0; //mm
|
||||
growParam.minLTypeTreeLen = 1.0; //mm
|
||||
growParam.minVTypeTreeLen = 1.0; //mm
|
||||
WD_workpieceHoleParam workpiecePara;
|
||||
workpiecePara.workpieceType = 0;
|
||||
workpiecePara.holeDiameter = 6.0; //
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user