diff --git a/App/HoleDetection/HoleDetectionApp/Presenter/Src/HoleDetectionPresenter.cpp b/App/HoleDetection/HoleDetectionApp/Presenter/Src/HoleDetectionPresenter.cpp index 5483f26..987009a 100644 --- a/App/HoleDetection/HoleDetectionApp/Presenter/Src/HoleDetectionPresenter.cpp +++ b/App/HoleDetection/HoleDetectionApp/Presenter/Src/HoleDetectionPresenter.cpp @@ -205,14 +205,15 @@ int HoleDetectionPresenter::InitAlgoParams() const VrAlgorithmParams& xmlParams = configResult.algorithmParams; - LOG_INFO("Loaded XML params - Ransac: distanceThreshold=%.2f, maxIterations=%d, minPlanePoints=%d, maxPlanes=%d, growthZThreshold=%.2f, minPlaneRatio=%.2f, maxNormalAngleDeg=%.1f\n", + LOG_INFO("Loaded XML params - Ransac: distanceThreshold=%.2f, maxIterations=%d, minPlanePoints=%d, maxPlanes=%d, growthZThreshold=%.2f, minPlaneRatio=%.2f, maxNormalAngleDeg=%.1f, maxDistFromPlane=%.2f\n", xmlParams.ransacParam.distanceThreshold, xmlParams.ransacParam.maxIterations, xmlParams.ransacParam.minPlanePoints, xmlParams.ransacParam.maxPlanes, xmlParams.ransacParam.growthZThreshold, xmlParams.ransacParam.minPlaneRatio, - xmlParams.ransacParam.maxNormalAngleDeg); + xmlParams.ransacParam.maxNormalAngleDeg, + xmlParams.ransacParam.maxDistFromPlane); LOG_INFO("Loaded XML params - Detection: angleThresholdPos=%.1f, angleThresholdNeg=%.1f, angleSearchDistance=%.2f, minPitDepth=%.2f\n", xmlParams.detectionParam.angleThresholdPos, diff --git a/App/HoleDetection/HoleDetectionApp/Version.h b/App/HoleDetection/HoleDetectionApp/Version.h index 0437259..01b6604 100644 --- a/App/HoleDetection/HoleDetectionApp/Version.h +++ b/App/HoleDetection/HoleDetectionApp/Version.h @@ -5,7 +5,7 @@ #define HOLEDETECTION_APP_NAME "孔洞检测" // 版本字符串 -#define HOLEDETECTION_VERSION_STRING "1.1.5" +#define HOLEDETECTION_VERSION_STRING "1.1.6" #define HOLEDETECTION_BUILD_STRING "1" #define HOLEDETECTION_FULL_VERSION_STRING "V" HOLEDETECTION_VERSION_STRING "_" HOLEDETECTION_BUILD_STRING diff --git a/App/HoleDetection/HoleDetectionApp/Version.md b/App/HoleDetection/HoleDetectionApp/Version.md index 7a385f0..67a423a 100644 --- a/App/HoleDetection/HoleDetectionApp/Version.md +++ b/App/HoleDetection/HoleDetectionApp/Version.md @@ -1,3 +1,7 @@ +## 1.1.6 2026-04-07 +* build_1 +1. 更新算法 1.0.3 + ## 1.1.5 2026-04-05 * build_1 1. 更新算法 1.0.2 diff --git a/App/HoleDetection/HoleDetectionApp/dialogalgoarg.cpp b/App/HoleDetection/HoleDetectionApp/dialogalgoarg.cpp index bd4b972..8f03d7a 100644 --- a/App/HoleDetection/HoleDetectionApp/dialogalgoarg.cpp +++ b/App/HoleDetection/HoleDetectionApp/dialogalgoarg.cpp @@ -301,6 +301,7 @@ void DialogAlgoarg::LoadRansacParamToUI(const VrRansacPlaneSegmentationParam& pa ui->lineEdit_growthZThreshold->setText(QString::number(param.growthZThreshold)); ui->lineEdit_minPlaneRatio->setText(QString::number(param.minPlaneRatio)); ui->lineEdit_maxNormalAngleDeg->setText(QString::number(param.maxNormalAngleDeg)); + ui->lineEdit_maxDistFromPlane->setText(QString::number(param.maxDistFromPlane)); } void DialogAlgoarg::LoadDetectionParamToUI(const VrHoleDetectionParam& param) @@ -381,6 +382,9 @@ bool DialogAlgoarg::SaveRansacParamFromUI(VrRansacPlaneSegmentationParam& param) param.maxNormalAngleDeg = ui->lineEdit_maxNormalAngleDeg->text().toDouble(&ok); if (!ok) return false; + param.maxDistFromPlane = ui->lineEdit_maxDistFromPlane->text().toDouble(&ok); + if (!ok) return false; + return true; } diff --git a/App/HoleDetection/HoleDetectionApp/dialogalgoarg.ui b/App/HoleDetection/HoleDetectionApp/dialogalgoarg.ui index 5b61f24..cece2c1 100644 --- a/App/HoleDetection/HoleDetectionApp/dialogalgoarg.ui +++ b/App/HoleDetection/HoleDetectionApp/dialogalgoarg.ui @@ -7,7 +7,7 @@ 0 0 920 - 584 + 613 @@ -84,7 +84,7 @@ QScrollArea { border: none; } 0 0 860 - 412 + 441 @@ -178,6 +178,16 @@ QScrollArea { border: none; } + + + + 点到平面最大允许距离 (mm): + + + + + + @@ -216,7 +226,7 @@ QScrollArea { border: none; } 0 0 860 - 412 + 441 @@ -435,7 +445,7 @@ QScrollArea { border: none; } 0 0 860 - 412 + 441 diff --git a/App/HoleDetection/HoleDetectionConfig/Inc/IVrConfig.h b/App/HoleDetection/HoleDetectionConfig/Inc/IVrConfig.h index 019a9c6..e6df0ab 100644 --- a/App/HoleDetection/HoleDetectionConfig/Inc/IVrConfig.h +++ b/App/HoleDetection/HoleDetectionConfig/Inc/IVrConfig.h @@ -1,121 +1,91 @@ #ifndef IVRCONFIG_H #define IVRCONFIG_H -#include -#include -#include -#include #include #include +#include +#include +#include +#include -// 包含公共配置结构体 #include "VrCommonConfig.h" #include "VrHandEyeCalibConfig.h" -/** - * @brief RANSAC 平面分割参数(映射 RansacPlaneSegmentationParams) - */ struct VrRansacPlaneSegmentationParam { - double distanceThreshold = 0.5; // 点到平面距离阈值(mm) - int maxIterations = 500; // RANSAC 最大迭代次数 - int minPlanePoints = 100; // 最小平面点数 - int maxPlanes = 5; // 最大提取平面数量 - double growthZThreshold = 1.0; // 区域生长时相邻点 Z 差阈值(mm) - double minPlaneRatio = 0.1; // 平面最小点数占比 - double maxNormalAngleDeg = 30.0; // 平面法向量与Z轴最大夹角(度),<=0 表示不过滤 + double distanceThreshold = 0.5; + int maxIterations = 500; + int minPlanePoints = 100; + int maxPlanes = 5; + double growthZThreshold = 1.0; + double minPlaneRatio = 0.1; + double maxNormalAngleDeg = 30.0; + double maxDistFromPlane = 1.0; }; -/** - * @brief 孔洞检测参数(映射 SHoleDetectionParams) - */ struct VrHoleDetectionParam { - double angleThresholdPos = 50.0; // 正角度阈值(度) - double angleThresholdNeg = -50.0; // 负角度阈值(度) - double angleSearchDistance = 2.0; // 前后搜索距离 A(mm) - double minPitDepth = 1.0; // 最小凹坑深度(mm) - double minRadius = 2.0; // 最小孔半径(mm) - double maxRadius = 50.0; // 最大孔半径(mm) - int expansionSize1 = 5; // 第一环扩展大小 - int expansionSize2 = 10; // 第二环扩展大小 - int minVTransitionPoints = 1; // V 形端点间最小有效过渡点数 - double jumpThresholdResidual = 0.0; // 相邻有效点残差跳变阈值 - double gapJumpThresholdResidual = 0.0; // 跨无效点间隙残差跳变阈值 - int maxGapPointsInLine = 12; // 允许跨越的最大无效点数 - double minFeatureSpan = 2.0; // 特征点对最小弧长跨度(mm) - int residualSmoothWindow = 5; // 残差平滑窗口 - double slopeAngleThreshold = 3.0; // 坡度补充判断阈值(度) - double edgeBoundaryFilterDist = 0.0; // 边缘过滤距离(mm) + double angleThresholdPos = 50.0; + double angleThresholdNeg = -50.0; + double angleSearchDistance = 2.0; + double minPitDepth = 1.0; + double minRadius = 2.0; + double maxRadius = 50.0; + int expansionSize1 = 5; + int expansionSize2 = 10; + int minVTransitionPoints = 1; + double jumpThresholdResidual = 0.0; + double gapJumpThresholdResidual = 0.0; + int maxGapPointsInLine = 12; + double minFeatureSpan = 2.0; + int residualSmoothWindow = 5; + double slopeAngleThreshold = 3.0; + double edgeBoundaryFilterDist = 0.0; }; -/** - * @brief 孔洞过滤参数(映射 SHoleFilterParams) - */ struct VrHoleFilterParam { - double maxEccentricity = 0.99995; // 最大离心率 - double minAngularCoverage = 10.0; // 最小角度覆盖(度) - double maxRadiusFitRatio = 1.0; // 最大半径拟合比率 - double minQualityScore = 0.0; // 最小质量分数 - double maxPlaneResidual = 10.0; // 最大平面残差(mm) - double maxAngularGap = 90.0; // 最大角度间隙(度) - double minInlierRatio = 0.0; // 最小内点比率 - double minHoleDepth = 2.5; // 最小孔深(mm) + double maxEccentricity = 0.99995; + double minAngularCoverage = 10.0; + double maxRadiusFitRatio = 1.0; + double minQualityScore = 0.0; + double maxPlaneResidual = 10.0; + double maxAngularGap = 90.0; + double minInlierRatio = 0.0; + double minHoleDepth = 2.5; }; -/** - * @brief 孔洞排序模式枚举(映射 ESortMode) - */ enum VrHoleSortMode { - HOLE_SORT_NONE = 0, // 不排序 - HOLE_SORT_BY_RADIUS = 1, // 按半径排序(最大优先) - HOLE_SORT_BY_DEPTH = 2, // 按深度排序(最深优先) - HOLE_SORT_BY_QUALITY = 3 // 按质量分数排序(最高优先) + HOLE_SORT_NONE = 0, + HOLE_SORT_BY_RADIUS = 1, + HOLE_SORT_BY_DEPTH = 2, + HOLE_SORT_BY_QUALITY = 3 }; -/** - * @brief 姿态输出顺序枚举 - * - * 定义机械臂姿态数据的输出顺序 - */ enum VrPoseOutputOrder { - POSE_ORDER_RPY = 0, // Roll, Pitch, Yaw(默认) - POSE_ORDER_RYP = 1, // Roll, Yaw, Pitch - POSE_ORDER_PRY = 2, // Pitch, Roll, Yaw - POSE_ORDER_PYR = 3, // Pitch, Yaw, Roll - POSE_ORDER_YRP = 4, // Yaw, Roll, Pitch - POSE_ORDER_YPR = 5 // Yaw, Pitch, Roll + POSE_ORDER_RPY = 0, + POSE_ORDER_RYP = 1, + POSE_ORDER_PRY = 2, + POSE_ORDER_PYR = 3, + POSE_ORDER_YRP = 4, + POSE_ORDER_YPR = 5 }; -/** - * @brief 方向向量反向配置枚举 - * - * 定义机械臂方向向量的反向配置 - * 用于调整相机坐标系到机械臂坐标系的方向向量转换 - */ enum VrDirVectorInvert { - DIR_INVERT_NONE = 0, // 不反向 - DIR_INVERT_XY = 1, // X 和 Y 方向反向 - DIR_INVERT_XZ = 2, // X 和 Z 方向反向 - DIR_INVERT_YZ = 3 // Y 和 Z 方向反向(默认,兼容原有行为) + DIR_INVERT_NONE = 0, + DIR_INVERT_XY = 1, + DIR_INVERT_XZ = 2, + DIR_INVERT_YZ = 3 }; -/** - * @brief TCP 协议和坐标输出配置 - * - * 默认值参考 Doc/porotol.jpg 协议文档: - * - 汇川 PLC-easy320: 192.168.0.88:502 - * - 配天机械臂: 192.168.0.90:502 - */ struct VrPlcRobotServerConfig { - int tcpServerPort = 7800; // TCP 协议服务端口 - int poseOutputOrder = POSE_ORDER_RPY; // 姿态输出顺序,默认 RPY - int dirVectorInvert = DIR_INVERT_YZ; // 方向向量反向配置,默认 YZ 反向 + int tcpServerPort = 7800; + int poseOutputOrder = POSE_ORDER_RPY; + int dirVectorInvert = DIR_INVERT_YZ; VrPlcRobotServerConfig& operator=(const VrPlcRobotServerConfig& other) { if (this != &other) { @@ -135,16 +105,13 @@ struct VrPlcRobotServerConfig VrPlcRobotServerConfig() = default; }; -/** - * @brief 算法参数配置结构 - */ struct VrAlgorithmParams { - VrRansacPlaneSegmentationParam ransacParam; // RANSAC 平面分割参数 - VrHoleDetectionParam detectionParam;// 孔洞检测参数 - VrHoleFilterParam filterParam; // 孔洞过滤参数 - int sortMode = HOLE_SORT_NONE; // 排序模式 - VrPlaneCalibParam planeCalibParam; // 平面校准参数 + VrRansacPlaneSegmentationParam ransacParam; + VrHoleDetectionParam detectionParam; + VrHoleFilterParam filterParam; + int sortMode = HOLE_SORT_NONE; + VrPlaneCalibParam planeCalibParam; VrAlgorithmParams& operator=(const VrAlgorithmParams& other) { if (this != &other) { @@ -168,18 +135,15 @@ struct VrAlgorithmParams VrAlgorithmParams() = default; }; -/** - * @brief 配置加载结果 - */ struct ConfigResult { - std::vector cameraList; - std::vector deviceList; - VrAlgorithmParams algorithmParams; // 算法参数 - std::vector handEyeCalibMatrixList; // 多相机手眼标定矩阵列表 - VrDebugParam debugParam; // 调试参数 - SerialConfig serialConfig; // 串口配置 - VrPlcRobotServerConfig plcRobotServerConfig; // PLC 和机械臂服务端配置 + std::vector cameraList; + std::vector deviceList; + VrAlgorithmParams algorithmParams; + std::vector handEyeCalibMatrixList; + VrDebugParam debugParam; + SerialConfig serialConfig; + VrPlcRobotServerConfig plcRobotServerConfig; ConfigResult& operator=(const ConfigResult& other) { if (this != &other) { @@ -207,21 +171,15 @@ struct ConfigResult ConfigResult() = default; }; -/** - * @brief 配置加载错误代码 - */ enum LoadConfigErrorCode { - LOAD_CONFIG_SUCCESS = 0, // 加载成功 - LOAD_CONFIG_FILE_NOT_FOUND = -1, // 配置文件不存在 - LOAD_CONFIG_PARSE_ERROR = -2, // 配置文件解析错误 - LOAD_CONFIG_INVALID_FORMAT = -3, // 配置文件格式无效 - LOAD_CONFIG_UNKNOWN_ERROR = -99 // 未知错误 + LOAD_CONFIG_SUCCESS = 0, + LOAD_CONFIG_FILE_NOT_FOUND = -1, + LOAD_CONFIG_PARSE_ERROR = -2, + LOAD_CONFIG_INVALID_FORMAT = -3, + LOAD_CONFIG_UNKNOWN_ERROR = -99 }; -/** - * @brief VrConfig 接口类 - */ class IVrConfig { public: diff --git a/App/HoleDetection/HoleDetectionConfig/Src/AlgoParamConverter.cpp b/App/HoleDetection/HoleDetectionConfig/Src/AlgoParamConverter.cpp index 8471250..6a263ec 100644 --- a/App/HoleDetection/HoleDetectionConfig/Src/AlgoParamConverter.cpp +++ b/App/HoleDetection/HoleDetectionConfig/Src/AlgoParamConverter.cpp @@ -14,6 +14,7 @@ RansacPlaneSegmentationParams ToAlgoParam(const VrRansacPlaneSegmentationParam& algo.growthZThreshold = static_cast(param.growthZThreshold); algo.minPlaneRatio = static_cast(param.minPlaneRatio); algo.maxNormalAngleDeg = static_cast(param.maxNormalAngleDeg); + algo.maxDistFromPlane = static_cast(param.maxDistFromPlane); return algo; } @@ -66,7 +67,7 @@ void LogAlgoParams(const std::string& logTag, clibMatrix[8], clibMatrix[9], clibMatrix[10], clibMatrix[11], clibMatrix[12], clibMatrix[13], clibMatrix[14], clibMatrix[15]); - LOG_INFO("%s RansacParams: distanceThreshold=%.2f, maxIterations=%d, minPlanePoints=%d, maxPlanes=%d, growthZThreshold=%.2f, minPlaneRatio=%.2f, maxNormalAngleDeg=%.1f\n", + LOG_INFO("%s RansacParams: distanceThreshold=%.2f, maxIterations=%d, minPlanePoints=%d, maxPlanes=%d, growthZThreshold=%.2f, minPlaneRatio=%.2f, maxNormalAngleDeg=%.1f, maxDistFromPlane=%.2f\n", logTag.c_str(), ransacParams.distanceThreshold, ransacParams.maxIterations, @@ -74,7 +75,8 @@ void LogAlgoParams(const std::string& logTag, ransacParams.maxPlanes, ransacParams.growthZThreshold, ransacParams.minPlaneRatio, - ransacParams.maxNormalAngleDeg); + ransacParams.maxNormalAngleDeg, + ransacParams.maxDistFromPlane); LOG_INFO("%s DetectionParams: angleThresholdPos=%.1f, angleThresholdNeg=%.1f, angleSearchDistance=%.2f, minPitDepth=%.2f\n", logTag.c_str(), diff --git a/App/HoleDetection/HoleDetectionConfig/Src/VrConfig.cpp b/App/HoleDetection/HoleDetectionConfig/Src/VrConfig.cpp index ae3c273..3520477 100644 --- a/App/HoleDetection/HoleDetectionConfig/Src/VrConfig.cpp +++ b/App/HoleDetection/HoleDetectionConfig/Src/VrConfig.cpp @@ -78,6 +78,8 @@ int CVrConfig::LoadConfig(const std::string& filePath, ConfigResult& configResul configResult.algorithmParams.ransacParam.minPlaneRatio = ransacParamElement->DoubleAttribute("minPlaneRatio"); if (ransacParamElement->Attribute("maxNormalAngleDeg")) configResult.algorithmParams.ransacParam.maxNormalAngleDeg = ransacParamElement->DoubleAttribute("maxNormalAngleDeg"); + if (ransacParamElement->Attribute("maxDistFromPlane")) + configResult.algorithmParams.ransacParam.maxDistFromPlane = ransacParamElement->DoubleAttribute("maxDistFromPlane"); } XMLElement* detectionParamElement = algoParamsElement->FirstChildElement("DetectionParam"); @@ -212,6 +214,7 @@ bool CVrConfig::SaveConfig(const std::string& filePath, ConfigResult& configResu ransacParamElement->SetAttribute("growthZThreshold", configResult.algorithmParams.ransacParam.growthZThreshold); ransacParamElement->SetAttribute("minPlaneRatio", configResult.algorithmParams.ransacParam.minPlaneRatio); ransacParamElement->SetAttribute("maxNormalAngleDeg", configResult.algorithmParams.ransacParam.maxNormalAngleDeg); + ransacParamElement->SetAttribute("maxDistFromPlane", configResult.algorithmParams.ransacParam.maxDistFromPlane); algoParamsElement->InsertEndChild(ransacParamElement); // 检测参数 DetectionParam 需要覆盖算法库当前全部检测字段。 diff --git a/App/HoleDetection/HoleDetectionConfig/config/config.xml b/App/HoleDetection/HoleDetectionConfig/config/config.xml index 977a5f4..c9230a9 100644 --- a/App/HoleDetection/HoleDetectionConfig/config/config.xml +++ b/App/HoleDetection/HoleDetectionConfig/config/config.xml @@ -14,7 +14,9 @@ minPlanePoints="100" maxPlanes="5" growthZThreshold="1.0" - minPlaneRatio="0.1"/> + minPlaneRatio="0.1" + maxNormalAngleDeg="30.0" + maxDistFromPlane="1.0"/> QPointF { - int px = (int)((pt.x - xMin) / x_scale + x_skip); - int py = (int)((pt.y - yMin) / y_scale + y_skip); + int px = (int)((pt.x - xMin) / x_scale + x_offset); + int py = (int)((pt.y - yMin) / y_scale + y_offset); return QPointF(px, py); }; diff --git a/App/ScrewPosition/ScrewPositionApp/Version.h b/App/ScrewPosition/ScrewPositionApp/Version.h index 3fe9e84..656f6af 100644 --- a/App/ScrewPosition/ScrewPositionApp/Version.h +++ b/App/ScrewPosition/ScrewPositionApp/Version.h @@ -2,7 +2,7 @@ #define VERSION_H -#define SCREWPOSITION_VERSION_STRING "1.0.0" +#define SCREWPOSITION_VERSION_STRING "1.1.0" #define SCREWPOSITION_BUILD_STRING "1" #define SCREWPOSITION_FULL_VERSION_STRING "V" SCREWPOSITION_VERSION_STRING "_" SCREWPOSITION_BUILD_STRING diff --git a/AppAlgo/holeDetection/arm/debug/libHoleDetectionLib.so.1.0.0 b/AppAlgo/holeDetection/arm/debug/libHoleDetectionLib.so.1.0.0 index 97f283d..67d3b25 100644 Binary files a/AppAlgo/holeDetection/arm/debug/libHoleDetectionLib.so.1.0.0 and b/AppAlgo/holeDetection/arm/debug/libHoleDetectionLib.so.1.0.0 differ diff --git a/AppAlgo/holeDetection/arm/release/libHoleDetectionLib.so.1.0.0 b/AppAlgo/holeDetection/arm/release/libHoleDetectionLib.so.1.0.0 index 6b7c92b..419eb45 100644 Binary files a/AppAlgo/holeDetection/arm/release/libHoleDetectionLib.so.1.0.0 and b/AppAlgo/holeDetection/arm/release/libHoleDetectionLib.so.1.0.0 differ diff --git a/AppAlgo/holeDetection/include/HoleDetectionParams.h b/AppAlgo/holeDetection/include/HoleDetectionParams.h index 2ad406a..1e7d536 100644 --- a/AppAlgo/holeDetection/include/HoleDetectionParams.h +++ b/AppAlgo/holeDetection/include/HoleDetectionParams.h @@ -16,6 +16,8 @@ struct RansacPlaneSegmentationParams { float minPlaneRatio; // 平面最小点数占比 (相对最大平面), 建议 0.05-0.2 float maxNormalAngleDeg; // 平面法向量与Z轴最大夹角 (度), 超过则直接丢弃; <=0 表示不过滤 + float maxDistFromPlane; // 点到平面的最大允许距离;超出则从 pointIndices 中移除;<=0 表示不过滤 + RansacPlaneSegmentationParams() : distanceThreshold(0.5f) , maxIterations(500) @@ -24,6 +26,7 @@ struct RansacPlaneSegmentationParams { , growthZThreshold(1.0f) , minPlaneRatio(0.1f) , maxNormalAngleDeg(30.0f) + , maxDistFromPlane(1.f) { } }; diff --git a/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.dll b/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.dll index bcb562a..c87125c 100644 Binary files a/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.dll and b/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.dll differ diff --git a/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.pdb b/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.pdb index 9343507..382991d 100644 Binary files a/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.pdb and b/AppAlgo/holeDetection/windows/x64/Debug/HoleDetectionLib.pdb differ diff --git a/AppAlgo/holeDetection/windows/x64/Release/HoleDetectionLib.dll b/AppAlgo/holeDetection/windows/x64/Release/HoleDetectionLib.dll index 173f809..ac4e36b 100644 Binary files a/AppAlgo/holeDetection/windows/x64/Release/HoleDetectionLib.dll and b/AppAlgo/holeDetection/windows/x64/Release/HoleDetectionLib.dll differ diff --git a/GrabBagPrj/AppList.md b/GrabBagPrj/AppList.md index 6f0faaa..b5e0bc5 100644 --- a/GrabBagPrj/AppList.md +++ b/GrabBagPrj/AppList.md @@ -6,7 +6,7 @@ |:---:|:--------|:---------|:------------| | 1 | 自动拆包 | GrabBag | 1.3.6.2 | | 2 | 皮带撕裂 | BeltTearingServer | 2.0.8.1 | -| 3 | 孔洞检测 | HoleDetection | 1.1.3.1 | +| 3 | 孔洞检测 | HoleDetection | 1.1.6.1 | | 4 | 棒材定位 | RodAndBarPosition | 1.0.2.1 | | 5 | 车轮拱高测量 | WheelMeasure | 1.0.2.1 | | 6 | 定子定位 | StatorPosition | 1.0.0.1 | @@ -15,7 +15,7 @@ | 9 | 颗粒尺寸检测 | ParticleSize | 1.0.0.0 | | 10 | 双目标记检测 | BinocularMarkServer | 1.0.0.4 | | 11 | 铁路隧道槽道测量 | TunnelChannel | 1.0.0.3 | -| 12 | 螺杆定位 | ScrewPosition | 1.0.0.1 | +| 12 | 螺杆定位 | ScrewPosition | 1.1.0.1 | | 13 | 包裹拆线位置定位 | BagThreadPosition | 1.0.0.4 | | 14 | 工件孔定位 | WorkpieceHole | 1.0.3.0 | | 16 | 坑孔定位 | HolePitPosition | 无 | diff --git a/GrabBagPrj/pkg_screwposition.sh b/GrabBagPrj/pkg_screwposition.sh index 9d918fd..075a903 100644 --- a/GrabBagPrj/pkg_screwposition.sh +++ b/GrabBagPrj/pkg_screwposition.sh @@ -65,6 +65,12 @@ echo "复制 Qt 运行时环境..." cp -rfd ${QT_PKG_PATH}/ext ${PKG_PATH}/opt/firefly_qt5.15 cp ${QT_PKG_PATH}/target_qtEnv.sh ${PKG_PATH}/etc/profile.d/ +echo "清理不需要的 Qt WebEngine 库文件..." +rm -f ${PKG_PATH}/opt/firefly_qt5.15/lib/libQt5WebEngine* +rm -rf ${PKG_PATH}/opt/firefly_qt5.15/libexec/QtWebEngineProcess +rm -rf ${PKG_PATH}/opt/firefly_qt5.15/resources/qtwebengine* +rm -rf ${PKG_PATH}/opt/firefly_qt5.15/translations/qtwebengine* + # 复制 Qt 库文件 for libfile in ${QT_LIB_PATH}/*.so*; do # 获取文件名用于比较 diff --git a/GrabBagPrj/update_releaseVersion.sh b/GrabBagPrj/update_releaseVersion.sh index a1f19d9..71c9088 100644 --- a/GrabBagPrj/update_releaseVersion.sh +++ b/GrabBagPrj/update_releaseVersion.sh @@ -85,7 +85,7 @@ declare -A PROJECT_CHINESE_NAMES=( ) # 应用列表文件路径 -APP_LIST_FILE="应用列表及说明.md" +APP_LIST_FILE="AppList.md" # 获取脚本所在目录 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"