测量
直线拟合
用最小二乘或 Huber、Tukey 稳健加权对离散点集拟合直线,输出线段两端点、角度、拟合误差与可作 ROI 的线段LineFitter · v1.0 · by system
输入参数 5
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 点集 | points | vec_double | [] | 是 | 待拟合的离散点坐标序列,按 [x0,y0,x1,y1,...] 成对排列;长度须为偶数,点数少于 2 个或类型不符时返回失败 |
| 拟合方法 | fitMethod | enum | 0 | 否 | 直线拟合采用的加权策略,可选最小二乘、Huber 或 Tukey;决定如何按点到直线的残差调整各点权重 |
| 剔除比例 | removeRatio | double | 0 | 否 | 按点到直线残差从大到小剔除离群点的比例,取值被限制在 0~0.9;设为 0 时不按比例剔除 |
| 剔除距离 | removeDist | double | 3 | 否 | 最小二乘模式下判定离群点的残差门槛,以残差分布标准差的倍数计;超过该倍数的点被剔除,非正数时不启用 |
| 迭代次数 | iterations | int | 10 | 否 | Huber 与 Tukey 直线加权拟合的重拟合轮数,至少取 1;最小二乘只剔除一次,不随该值循环 |
输出参数 9
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 运行结果 | resultCode | int | — | 否 | 0=拟合成功并输出线段端点与角度;-1=缺少点集、点集类型或长度不合法、点数不足 2 个,此时不产出拟合结果 |
| 运行信息 | resultInfo | string | — | 否 | 成功时固定为 Success;失败时给出具体原因,如缺少点集输入、点集类型不匹配或至少需要 2 个点 |
| 起点X | startX | double | — | 否 | 拟合线段起点的 X 坐标,由参与拟合的点投影到直线上取极小端得到,采用与输入点集一致的坐标系 |
| 起点Y | startY | double | — | 否 | 拟合线段起点的 Y 坐标,与起点 X 对应同一投影端点,采用与输入点集一致的坐标系 |
| 终点X | endX | double | — | 否 | 拟合线段终点的 X 坐标,由参与拟合的点投影到直线上取极大端得到,与起点 X 同属一条拟合直线 |
| 终点Y | endY | double | — | 否 | 拟合线段终点的 Y 坐标,与终点 X 对应同一投影端点,采用与输入点集一致的坐标系 |
| 角度 | angle | double | — | 否 | 拟合直线的方向角,由方向向量换算为角度值,单位为度,取值范围约为 -180~180 |
| 拟合误差 | fitError | double | — | 否 | 参与拟合的各点到直线垂直距离的均方根误差,量纲同输入坐标;数值越小表示点越贴近直线,无有效点时记 0 |
| 拟合直线 | roiLineOut | roi | — | 否 | 拟合出的线段按 [6,x1,y1,x2,y2] 格式输出,可直接作为其他工具的线型 ROI 输入;线段退化时不输出该项 |
接入方式
联系与反馈
获取安装包与技术反馈
安装包通过微信二维码获取。安装部署、界面组态与工具配置过程中的问题,可通过同一渠道反馈,无需注册或填写表单。
- 安装包获取与部署说明
- 界面组态与工具配置
- 功能建议与问题反馈

微信扫码 · 安装包与问题反馈