# 检测参数与伪彩说明 ## 1. 报警过滤参数 | 配置字段 | XML属性 | 单位 | 规则 | |----------|---------|------|------| | `tearingMinWidthY` | `TearingMinWidthY` | mm | `abs(tearWidth)` 小于该值时不报警,0表示不限制 | | `tearingMinDepthZ` | `TearingMinDepthZ` | mm | `abs(tearDepth)` 小于该值时不报警,0表示不限制 | SDK返回 `tearDepth == -1` 表示贯穿型或无可用深度,该结果始终通过Z深度门槛。过滤在SDK检测后、所有报警协议输出前执行,因此 TCP、标准Modbus和简化Modbus使用一致的报警集合。 参数可通过配置界面、XML配置文件或TCP 1.6 `GET_CONFIG` / `SET_CONFIG` 读取和修改。修改后写回当前配置文件;相机 IP 修改后需重启服务或使用完整的相机重连流程才能应用,`REST_DETECT` 只重新启动检测流。 ## 2. 报警确认 执行报警复位时,系统清空报警寄存器及TCP历史最大值,并记录当时仍存在的撕裂ID。已确认ID继续显示在实时结果和ROI图像中,但在其消失前不再进入报警输出。相同ID消失后再次出现时可重新报警。 ## 3. 周期伪彩 伪彩不使用固定Z最小值和最大值,也不提供相关配置参数。每50 mm使用一次完整的16位伪彩码范围,下一段重复使用同一颜色表: ```text 0..50 mm -> 0x0000..0xFFFF 50..100 mm -> 0x0000..0xFFFF 100..150 mm -> 0x0000..0xFFFF ``` 换算公式: ```text rangeStart = floor(z / 50.0) * 50.0 offset = z - rangeStart code = round(offset / 50.0 * 65535.0) rgb = pseudoColorLut[code] ``` `pseudoColorLut` 使用完整HSV色环,`0x0000`和`0xFFFF`颜色连续,方向为红->品红->蓝->青->绿->黄->红。每50 mm重复一次完整色环。生成2D图像时使用三维点的物理X/Y坐标进行等比例正投影,X/Y共用相同的毫米到像素比例;传入的800x600仅作为最大输出边界,实际图像尺寸根据物理X/Y范围动态计算。像素颜色只由对应点的Z值确定;先在扫描线内部插值,再在相邻扫描线之间按实际X/Y坐标插值,使皮带表面形成连续色带。无效点和超过正常采样间距的大缺口不插值,继续显示为黑色。 图像在符合报警过滤条件的撕裂ROI上绘制黑色外框和红色内框。 ## 4. 尺寸口径 - X方向长度:`abs(roi.right - roi.left)`。 - Y方向宽度:`abs(tearWidth)`。 - Z方向深度:SDK的 `tearDepth`,过滤时取绝对值,`-1`按特殊值处理。 - TCP 1.5保留旧字段 `max`,其值与 `maxLength` 相同。