beltTearingDetection

version 1.0.2 : 修改参数tearingMinLen的使用:原来ROI宽度和高度只要有一个满足门限,现在修改为只限制宽度(长度)
This commit is contained in:
jerryzeng 2026-10-24 09:15:20 +08:00
parent 68e7bb9839
commit a9f4fe1f69
2 changed files with 5 additions and 4 deletions

View File

@ -1051,7 +1051,7 @@ int main()
};
SVzNLRange fileIdx[TEST_GROUP] = {
{10,24}, {2, 18}, {16,16}, {1,2}, {2,3} };
{10,24}, {2, 18}, {16,16}, {1,2}, {4,6} };
double camPoseR[9] = {
1.0, 0.0, 0.0,
@ -1071,7 +1071,7 @@ int main()
algoParam.tearingMinLen = 30.0;
algoParam.tearingMinDepth = 2.0; //对于非穿透型撕裂的检测最小深度,用于滤除点云波动形成的虚假撕裂
algoParam.tearingMinYWidth = 2.0; //撕裂在Y方向的最大宽度, 用于滤除雨刷运行产生的虚假Gap
algoParam.tearingMinYWidth = 2.0; //撕裂在Y方向的最小宽度, 用于滤除雨刷运行产生的虚假Gap
algoParam.tearingMaxYWidth = 150; //撕裂在Y方向的最大宽度, 用于滤除雨刷运行产生的虚假Gap
char _scan_file[256];

View File

@ -7,7 +7,8 @@
//version 1.0.0 : 皮带撕裂版本添加版本号后的基础版本
//version 1.0.1 : 添加撕裂Y方向最小和最大宽度, 以及非贯穿撕裂最小深度,用于滤除点云波动和雨刷运动时产生的虚拟Gap(中信重工)
std::string m_strVersion = "BeltTearing 1.0.1";
//version 1.0.2 : 修改参数tearingMinLen的使用:原来ROI宽度和高度只要有一个满足门限,现在修改为只限制宽度(长度)
std::string m_strVersion = "BeltTearing 1.0.2";
const char* sg_beltTearingVersion(void)
{
return m_strVersion.c_str();
@ -1243,7 +1244,7 @@ void sg_detectBeltTearing(
//计算ROI的长宽
double w = beltTearings_unknown[i].roi.right - beltTearings_unknown[i].roi.left;
double h = beltTearings_unknown[i].roi.bottom - beltTearings_unknown[i].roi.top;
if ((w >= measureParam.tearingMinLen) || (h >= measureParam.tearingMinLen))
if (w >= measureParam.tearingMinLen) //version 1.0.2:只限宽度
{
int lines = beltTearings_unknown[i].endLineIdx - beltTearings_unknown[i].statLineIdx + 1;
SSG_tearProcessInfo* match_procInfo = _getProcInfo(