rodAndBarDetection version 1.3.7 :

新的定位盘中心测量功能:进一步优化了内部参数,优化了垂直点去除效果
This commit is contained in:
jerryzeng 2026-06-07 00:14:59 +08:00
parent a442445560
commit 8ddf2db090
4 changed files with 11 additions and 10 deletions

View File

@ -1151,7 +1151,7 @@ void newLocatingPlateTest(void)
}; };
SVzNLRange fileIdx[NEW_LOCATING_PALTE_TEST_GROUP] = { SVzNLRange fileIdx[NEW_LOCATING_PALTE_TEST_GROUP] = {
{12,13}, {52,52} {12,13}, {1,52}
}; };
const char* ver = wd_rodAndBarDetectionVersion(); const char* ver = wd_rodAndBarDetectionVersion();

View File

@ -305,7 +305,6 @@ SG_APISHARED_EXPORT void wd_getLineCorerFeature(
SG_APISHARED_EXPORT void wd_getXYVertialFeature_dirAngleMethod( SG_APISHARED_EXPORT void wd_getXYVertialFeature_dirAngleMethod(
std::vector< SVzNL3DPosition>& lineData, std::vector< SVzNL3DPosition>& lineData,
int lineIdx, int lineIdx,
const double peakChkWin,
const SSG_cornerParam cornerPara, const SSG_cornerParam cornerPara,
std::vector<int>& xyVerticalFlags //»· std::vector<int>& xyVerticalFlags //»·
); );

View File

@ -5716,14 +5716,13 @@ void wd_getLineCorerFeature(
void wd_getXYVertialFeature_dirAngleMethod( void wd_getXYVertialFeature_dirAngleMethod(
std::vector< SVzNL3DPosition>& lineData, std::vector< SVzNL3DPosition>& lineData,
int lineIdx, int lineIdx,
const double peakChkWin,
const SSG_cornerParam cornerPara, const SSG_cornerParam cornerPara,
std::vector<int>& xyVerticalFlags std::vector<int>& xyVerticalFlags
) )
{ {
if (lineIdx == 1062) if (lineIdx == 745)
int kkk = 1; int kkk = 1;
double minVerticalAngle = 75.0; //arc上每个点的转角最小值 double minVerticalAngle = cornerPara.cornerTh; //arc上每个点的转角最小值
xyVerticalFlags.resize(lineData.size()); xyVerticalFlags.resize(lineData.size());
//计算前向角和后向角 //计算前向角和后向角

View File

@ -27,7 +27,8 @@
//version 1.3.4 : 新的定位盘中心测量功能算法优化 //version 1.3.4 : 新的定位盘中心测量功能算法优化
//version 1.3.5 : 新的定位盘中心测量功能占将float运算改成double ,测试PC和3588差异 //version 1.3.5 : 新的定位盘中心测量功能占将float运算改成double ,测试PC和3588差异
//version 1.3.6 : 新的定位盘中心测量功能:优化聚类前的垂直点去除算法,保证聚类结果正确 //version 1.3.6 : 新的定位盘中心测量功能:优化聚类前的垂直点去除算法,保证聚类结果正确
std::string m_strVersion = "1.3.6"; //version 1.3.7 : 新的定位盘中心测量功能:进一步优化了内部参数,优化了垂直点去除效果
std::string m_strVersion = "1.3.7";
const char* wd_rodAndBarDetectionVersion(void) const char* wd_rodAndBarDetectionVersion(void)
{ {
return m_strVersion.c_str(); return m_strVersion.c_str();
@ -2024,6 +2025,10 @@ SSX_platePoseInfo sx_getLocationPlatePose_new(
//4、提取孔 //4、提取孔
//5、拟合 //5、拟合
//6、计算中间坐标 //6、计算中间坐标
//内部参数
SSG_cornerParam removeVertialPara = cornerPara;
removeVertialPara.scale = 3.0;
removeVertialPara.cornerTh = 60;
std::vector<std::vector<int>> flags; std::vector<std::vector<int>> flags;
flags.resize(lineNum); flags.resize(lineNum);
@ -2041,8 +2046,7 @@ SSX_platePoseInfo sx_getLocationPlatePose_new(
wd_getXYVertialFeature_dirAngleMethod( wd_getXYVertialFeature_dirAngleMethod(
scanLines[line], scanLines[line],
line, line,
cornerPara.scale, removeVertialPara,
cornerPara,
line_verticalFlags line_verticalFlags
); );
zVertivalFlags.push_back(line_verticalFlags); zVertivalFlags.push_back(line_verticalFlags);
@ -2063,8 +2067,7 @@ SSX_platePoseInfo sx_getLocationPlatePose_new(
wd_getXYVertialFeature_dirAngleMethod( wd_getXYVertialFeature_dirAngleMethod(
scanLines_h[line], scanLines_h[line],
line, line,
cornerPara.scale, removeVertialPara,
cornerPara,
line_verticalFlags line_verticalFlags
); );
zVertivalFlags_h.push_back(line_verticalFlags); zVertivalFlags_h.push_back(line_verticalFlags);