mi-task/logs/robot_2025-05-28.log

615 lines
71 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2025-05-28 18:10:21 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:10:23 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:10:23 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:10:24 | DEBUG | utils.log_helper - 🐞 正在处理底部边缘点
2025-05-28 18:10:25 | DEBUG | utils.log_helper - 🐞 显示拟合线段
2025-05-28 18:10:26 | DEBUG | utils.log_helper - 👁️ 步骤5: 找到边缘点 (320, 764)
2025-05-28 18:10:27 | DEBUG | utils.log_helper - 🐞 显示边缘斜率和中线交点
2025-05-28 18:10:27 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_181027_948631.jpg
2025-05-28 18:10:27 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_181027_948631.jpg
2025-05-28 18:10:27 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_181027_948631', 'edge_point': (320, 764), 'distance_to_center': -640, 'slope': -0.024199460833261684, 'distance_to_bottom': 331.48765493328744, 'intersection_point': (960, 748)}
2025-05-28 18:10:48 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:10:49 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:10:49 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:10:50 | DEBUG | utils.log_helper - 🐞 正在处理底部边缘点
2025-05-28 18:10:51 | DEBUG | utils.log_helper - 🐞 显示拟合线段
2025-05-28 18:10:52 | DEBUG | utils.log_helper - 👁️ 步骤5: 找到边缘点 (320, 765)
2025-05-28 18:10:53 | DEBUG | utils.log_helper - 🐞 显示边缘斜率和中线交点
2025-05-28 18:10:54 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_181054_002691.jpg
2025-05-28 18:10:54 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_181054_002691.jpg
2025-05-28 18:10:54 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_181054_002691', 'edge_point': (320, 765), 'distance_to_center': -640, 'slope': -0.025730022186332406, 'distance_to_bottom': 331.4672141992528, 'intersection_point': (960, 748)}
2025-05-28 18:11:06 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:11:07 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:11:08 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:11:08 | DEBUG | utils.log_helper - 🐞 正在处理底部边缘点
2025-05-28 18:11:09 | DEBUG | utils.log_helper - 🐞 显示拟合线段
2025-05-28 18:11:10 | DEBUG | utils.log_helper - 👁️ 步骤5: 找到边缘点 (1600, 1079)
2025-05-28 18:11:11 | DEBUG | utils.log_helper - 🐞 显示边缘斜率和中线交点
2025-05-28 18:11:12 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_181112_191153.jpg
2025-05-28 18:11:12 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_181112_191153.jpg
2025-05-28 18:11:12 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_181112_191153', 'edge_point': (1600, 1079), 'distance_to_center': 640, 'slope': 0.00019855956489055974, 'distance_to_bottom': 1.8729218784701516, 'intersection_point': (960, 1078)}
2025-05-28 18:13:40 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_181340_008182.jpg
2025-05-28 18:13:52 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_181352_540296.jpg
2025-05-28 18:13:52 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:13:53 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:13:54 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:13:55 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 18:13:55 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 18:13:56 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 14 条直线
2025-05-28 18:13:57 | DEBUG | utils.log_helper - 🐞 步骤5.1: 合并后剩余 7 条线
2025-05-28 18:13:58 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 18:19:56 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_181956_608652.jpg
2025-05-28 18:19:56 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:19:57 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:19:58 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:19:59 | DEBUG | utils.log_helper - 🐞 步骤4: 检测边缘点
2025-05-28 18:20:00 | DEBUG | utils.log_helper - 🐞 步骤5: 边缘检测
2025-05-28 18:20:00 | DEBUG | utils.log_helper - 🐞 步骤6: 检测到 16 条直线
2025-05-28 18:20:01 | DEBUG | utils.log_helper - 🐞 步骤7: 合并后剩余 7 条线
2025-05-28 18:20:02 | DEBUG | utils.log_helper - 🐞 步骤8: 找到 1 条水平线
2025-05-28 18:20:03 | DEBUG | utils.log_helper - 🐞 线段质量得分过低: 0.32,尝试使用边缘点拟合
2025-05-28 18:20:03 | DEBUG | utils.log_helper - 🐞 使用拟合直线,斜率: 0.0131, 内点比例: 0.63
2025-05-28 18:20:04 | DEBUG | utils.log_helper - 🐞 步骤9: 显示最终结果
2025-05-28 18:20:04 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_182004_958627.jpg
2025-05-28 18:20:04 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_182004_958627', 'edge_point': (1440, 747), 'distance_to_center': 480, 'slope': 0.013122411913480955, 'distance_to_bottom': 339.7012422815292, 'intersection_point': (960, 740), 'score': 0.3160988129039916}
2025-05-28 18:20:27 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_182027_171258.jpg
2025-05-28 18:20:27 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:20:28 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:20:28 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:20:29 | DEBUG | utils.log_helper - 🐞 步骤4: 检测边缘点
2025-05-28 18:20:30 | DEBUG | utils.log_helper - 🐞 步骤5: 边缘检测
2025-05-28 18:20:31 | DEBUG | utils.log_helper - 🐞 步骤6: 检测到 15 条直线
2025-05-28 18:20:32 | DEBUG | utils.log_helper - 🐞 步骤7: 合并后剩余 8 条线
2025-05-28 18:20:33 | DEBUG | utils.log_helper - 🐞 步骤8: 找到 1 条水平线
2025-05-28 18:20:33 | DEBUG | utils.log_helper - 🐞 步骤9: 显示最终结果
2025-05-28 18:20:34 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_182034_689922.jpg
2025-05-28 18:20:34 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_182034_689922', 'edge_point': (586, 727), 'distance_to_center': -374, 'slope': -0.020338983050847456, 'distance_to_bottom': 360.60677966101696, 'intersection_point': (960, 719), 'score': 0.7896090284152656}
2025-05-28 18:20:50 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_182050_376838.jpg
2025-05-28 18:20:50 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:20:51 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:20:52 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:20:52 | DEBUG | utils.log_helper - 🐞 步骤4: 检测边缘点
2025-05-28 18:20:53 | DEBUG | utils.log_helper - 🐞 步骤5: 边缘检测
2025-05-28 18:20:54 | DEBUG | utils.log_helper - 🐞 步骤6: 检测到 15 条直线
2025-05-28 18:20:55 | DEBUG | utils.log_helper - 🐞 步骤7: 合并后剩余 8 条线
2025-05-28 18:20:56 | DEBUG | utils.log_helper - 🐞 步骤8: 找到 1 条水平线
2025-05-28 18:20:57 | DEBUG | utils.log_helper - 🐞 步骤9: 显示最终结果
2025-05-28 18:20:57 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_182057_885573.jpg
2025-05-28 18:20:57 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_182057_885573', 'edge_point': (586, 727), 'distance_to_center': -374, 'slope': -0.020338983050847456, 'distance_to_bottom': 360.60677966101696, 'intersection_point': (960, 719), 'score': 0.7896090284152656}
2025-05-28 18:21:01 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_182101_045147.jpg
2025-05-28 18:21:01 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:21:02 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:21:02 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:21:03 | DEBUG | utils.log_helper - 🐞 步骤4: 检测边缘点
2025-05-28 18:21:04 | DEBUG | utils.log_helper - 🐞 步骤5: 边缘检测
2025-05-28 18:21:05 | DEBUG | utils.log_helper - 🐞 步骤6: 检测到 15 条直线
2025-05-28 18:21:06 | DEBUG | utils.log_helper - 🐞 步骤7: 合并后剩余 8 条线
2025-05-28 18:21:06 | DEBUG | utils.log_helper - 🐞 步骤8: 找到 1 条水平线
2025-05-28 18:21:07 | DEBUG | utils.log_helper - 🐞 步骤9: 显示最终结果
2025-05-28 18:21:08 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_182108_558237.jpg
2025-05-28 18:21:08 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_182108_558237', 'edge_point': (586, 727), 'distance_to_center': -374, 'slope': -0.020338983050847456, 'distance_to_bottom': 360.60677966101696, 'intersection_point': (960, 719), 'score': 0.7896090284152656}
2025-05-28 18:21:26 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_182126_619927.jpg
2025-05-28 18:21:26 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:21:27 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:21:28 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:21:29 | DEBUG | utils.log_helper - 🐞 步骤4: 检测边缘点
2025-05-28 18:21:30 | DEBUG | utils.log_helper - 🐞 步骤5: 边缘检测
2025-05-28 18:21:30 | DEBUG | utils.log_helper - 🐞 步骤6: 检测到 16 条直线
2025-05-28 18:21:31 | DEBUG | utils.log_helper - 🐞 步骤7: 合并后剩余 7 条线
2025-05-28 18:21:32 | DEBUG | utils.log_helper - 🐞 步骤8: 找到 1 条水平线
2025-05-28 18:21:33 | DEBUG | utils.log_helper - 🐞 线段质量得分过低: 0.32,尝试使用边缘点拟合
2025-05-28 18:21:33 | DEBUG | utils.log_helper - 🐞 使用拟合直线,斜率: 0.0162, 内点比例: 0.62
2025-05-28 18:21:34 | DEBUG | utils.log_helper - 🐞 步骤9: 显示最终结果
2025-05-28 18:21:34 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_182134_957893.jpg
2025-05-28 18:21:34 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_182134_957893', 'edge_point': (1440, 749), 'distance_to_center': 480, 'slope': 0.016224570257057244, 'distance_to_bottom': 339.2122062766125, 'intersection_point': (960, 740), 'score': 0.3160988129039916}
2025-05-28 18:33:44 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_183344_087438.jpg
2025-05-28 18:33:44 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:33:45 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:33:45 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:33:46 | DEBUG | utils.log_helper - 🐞 步骤4: 检测边缘点
2025-05-28 18:33:47 | DEBUG | utils.log_helper - 🐞 步骤5: 边缘检测
2025-05-28 18:33:48 | DEBUG | utils.log_helper - 🐞 步骤6: 检测到 16 条直线
2025-05-28 18:33:49 | DEBUG | utils.log_helper - 🐞 步骤7: 合并后剩余 7 条线
2025-05-28 18:33:50 | DEBUG | utils.log_helper - 🐞 步骤8: 找到 3 条水平线
2025-05-28 18:33:50 | DEBUG | utils.log_helper - 🐞 步骤9: 显示最终结果
2025-05-28 18:33:51 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_183351_666893.jpg
2025-05-28 18:33:51 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_183351_666893', 'edge_point': (574, 705), 'distance_to_center': -386, 'slope': 0.08121827411167512, 'distance_to_bottom': 343.6497461928934, 'intersection_point': (960, 736), 'score': 0.4539862637807487}
2025-05-28 18:34:09 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_183409_503808.jpg
2025-05-28 18:34:09 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_183409_503808.jpg
2025-05-28 18:34:09 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_183409_503808', 'edge_point': (986, 713), 'distance_to_center': 26, 'slope': 0.01699029126213592, 'distance_to_bottom': 367.44174757281553, 'intersection_point': (960, 712), 'score': 0.4415637632646397, 'valid': True, 'reason': '', 'is_lower_line': array([ True, True, True, True])}
2025-05-28 18:34:28 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 18:34:29 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 18:34:30 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 18:34:31 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 18:34:32 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 18:34:32 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 16 条直线
2025-05-28 18:34:33 | DEBUG | utils.log_helper - 🐞 步骤6: 找到 1 条水平线 (下方: 1, 上方: 0)
2025-05-28 18:34:34 | DEBUG | utils.log_helper - 🐞 选择下方水平线
2025-05-28 18:34:34 | DEBUG | utils.log_helper - 🐞 显示边缘斜率和中线交点
2025-05-28 18:34:35 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_183435_284173.jpg
2025-05-28 18:34:35 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_183435_284173.jpg
2025-05-28 18:34:35 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_183435_284173', 'edge_point': (986, 713), 'distance_to_center': 26, 'slope': 0.01699029126213592, 'distance_to_bottom': 367.44174757281553, 'intersection_point': (960, 712), 'score': 0.4415637632646397, 'valid': True, 'reason': '', 'is_lower_line': array([ True, True, True, True])}
2025-05-28 19:06:36 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:06:37 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:06:38 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:06:39 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 19:06:40 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:06:41 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 16 条直线
2025-05-28 19:06:41 | DEBUG | utils.log_helper - 🐞 步骤6: 找到 1 条水平线 (下方: 1, 上方: 0)
2025-05-28 19:06:42 | DEBUG | utils.log_helper - 🐞 选择下方水平线
2025-05-28 19:06:42 | DEBUG | utils.log_helper - 🐞 显示边缘斜率和中线交点
2025-05-28 19:06:43 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_190643_597364.jpg
2025-05-28 19:06:43 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_190643_597364.jpg
2025-05-28 19:06:43 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_190643_597364', 'edge_point': (986, 713), 'distance_to_center': 26, 'slope': 0.01699029126213592, 'distance_to_bottom': 367.44174757281553, 'intersection_point': (960, 712), 'score': 0.4415637632646397, 'valid': True, 'reason': '', 'is_lower_line': array([ True, True, True, True])}
2025-05-28 19:06:55 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:06:56 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:06:57 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:06:58 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 19:06:59 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:06:59 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 16 条直线
2025-05-28 19:07:00 | DEBUG | utils.log_helper - 🐞 步骤6: 找到 1 条水平线 (下方: 1, 上方: 0)
2025-05-28 19:07:01 | DEBUG | utils.log_helper - 🐞 选择下方水平线
2025-05-28 19:07:01 | DEBUG | utils.log_helper - 🐞 显示边缘斜率和中线交点
2025-05-28 19:07:02 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_190702_335947.jpg
2025-05-28 19:07:02 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_190702_335947.jpg
2025-05-28 19:07:02 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_190702_335947', 'edge_point': (986, 713), 'distance_to_center': 26, 'slope': 0.01699029126213592, 'distance_to_bottom': 367.44174757281553, 'intersection_point': (960, 712), 'score': 0.4415637632646397, 'valid': True, 'reason': '', 'is_lower_line': array([ True, True, True, True])}
2025-05-28 19:07:16 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:07:17 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:07:17 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:07:18 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 19:07:19 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:07:20 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 19 条直线
2025-05-28 19:07:21 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 19:07:26 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:07:27 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:07:28 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:07:29 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 19:07:30 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:07:31 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 19 条直线
2025-05-28 19:07:31 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 19:07:36 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:07:37 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:07:38 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:07:39 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 19:07:40 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:07:40 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 19 条直线
2025-05-28 19:07:41 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 19:07:51 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:07:52 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:07:52 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:07:53 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 19:07:54 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:07:55 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 19 条直线
2025-05-28 19:07:56 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 19:08:18 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_190818_294767.jpg
2025-05-28 19:08:18 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:08:19 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:08:20 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:08:20 | DEBUG | utils.log_helper - 🐞 检测底部和顶部边缘点
2025-05-28 19:08:21 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:08:22 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 15 条直线
2025-05-28 19:08:23 | DEBUG | utils.log_helper - 🐞 步骤5.1: 合并后剩余 8 条线
2025-05-28 19:08:24 | DEBUG | utils.log_helper - 🐞 步骤6: 找到 1 条水平线 (下方: 1, 上方: 0)
2025-05-28 19:08:25 | DEBUG | utils.log_helper - 🐞 没有合适的上方线,选择下方水平线
2025-05-28 19:08:25 | WARNING | utils.log_helper - ⚠️ 检测结果不合理: 边缘点y坐标超出有效范围;
2025-05-28 19:08:25 | DEBUG | utils.log_helper - 🐞 显示边缘斜率和中线交点
2025-05-28 19:08:25 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_horizontal_edge_20250528_190825_827218.jpg
2025-05-28 19:08:25 | INFO | utils.log_helper - 保存横向边缘检测结果图像到: logs/image/horizontal_edge_20250528_190825_827218.jpg
2025-05-28 19:08:25 | INFO | utils.log_helper - 横向边缘检测结果: {'timestamp': '20250528_190825_827218', 'edge_point': (1171, 779), 'distance_to_center': 211, 'slope': 0.0994263862332696, 'distance_to_bottom': 321.9789674952199, 'intersection_point': (960, 758), 'score': 0.5319744957227472, 'valid': False, 'reason': '边缘点y坐标超出有效范围; ', 'is_upper_line': False}
2025-05-28 19:38:09 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_193809_784190.jpg
2025-05-28 19:38:09 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:39:20 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_193920_198287.jpg
2025-05-28 19:39:20 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:39:21 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:39:21 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:39:22 | DEBUG | utils.log_helper - 🐞 检测顶部边缘点
2025-05-28 19:39:23 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:39:24 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 17 条直线
2025-05-28 19:39:25 | DEBUG | utils.log_helper - 🐞 步骤5.1: 合并后剩余 8 条线
2025-05-28 19:39:26 | DEBUG | utils.log_helper - 🐞 步骤6: 找到 1 条水平线
2025-05-28 19:39:26 | DEBUG | utils.log_helper - 🐞 显示交点结果
2025-05-28 19:39:27 | INFO | utils.log_helper - 保存最远交点检测结果图像到: logs/image/furthest_intersection_20250528_193927_755148.jpg
2025-05-28 19:39:27 | INFO | utils.log_helper - 最远交点检测结果: {'timestamp': '20250528_193927_755148', 'intersection_point': (960, 720), 'distance_to_bottom': 359.25714285714287, 'slope': -0.01904761904761905, 'score': 0.5227506599361932, 'valid': True, 'reason': ''}
2025-05-28 19:40:27 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_194027_029530.jpg
2025-05-28 19:40:27 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:40:27 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:40:28 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:40:29 | DEBUG | utils.log_helper - 🐞 检测顶部边缘点
2025-05-28 19:40:30 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:40:31 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 14 条直线
2025-05-28 19:40:32 | DEBUG | utils.log_helper - 🐞 步骤5.1: 合并后剩余 7 条线
2025-05-28 19:40:32 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 19:40:43 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_194043_341472.jpg
2025-05-28 19:40:43 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:40:44 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:40:45 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:40:45 | DEBUG | utils.log_helper - 🐞 检测顶部边缘点
2025-05-28 19:40:46 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:40:47 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 14 条直线
2025-05-28 19:40:48 | DEBUG | utils.log_helper - 🐞 步骤5.1: 合并后剩余 7 条线
2025-05-28 19:40:49 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 19:40:51 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_194051_844002.jpg
2025-05-28 19:40:51 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:40:52 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:40:53 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:40:54 | DEBUG | utils.log_helper - 🐞 检测顶部边缘点
2025-05-28 19:40:55 | DEBUG | utils.log_helper - 🐞 步骤4: 边缘检测
2025-05-28 19:40:56 | DEBUG | utils.log_helper - 🐞 步骤5: 检测到 14 条直线
2025-05-28 19:40:56 | DEBUG | utils.log_helper - 🐞 步骤5.1: 合并后剩余 7 条线
2025-05-28 19:40:57 | ERROR | utils.log_helper - ❌ 未检测到合格的水平线
2025-05-28 19:52:43 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_195243_206199.jpg
2025-05-28 19:52:43 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:52:44 | DEBUG | utils.log_helper - 🐞 步骤1.5: 增强对比度
2025-05-28 19:52:45 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:52:45 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:52:46 | DEBUG | utils.log_helper - 🐞 检测顶部边缘点
2025-05-28 19:52:47 | DEBUG | utils.log_helper - 🐞 从顶部边缘点直接拟合出横线
2025-05-28 19:53:07 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_195307_891312.jpg
2025-05-28 19:53:07 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:53:08 | DEBUG | utils.log_helper - 🐞 步骤1.5: 增强对比度
2025-05-28 19:53:09 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:53:10 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:53:11 | DEBUG | utils.log_helper - 🐞 检测顶部边缘点
2025-05-28 19:53:12 | DEBUG | utils.log_helper - 🐞 从顶部边缘点直接拟合出横线
2025-05-28 19:53:18 | INFO | utils.log_helper - 保存原始图像到: logs/image/origin_intersection_20250528_195318_404574.jpg
2025-05-28 19:53:18 | DEBUG | utils.log_helper - 🐞 步骤1: 原始图像已加载
2025-05-28 19:53:19 | DEBUG | utils.log_helper - 🐞 步骤1.5: 增强对比度
2025-05-28 19:53:20 | DEBUG | utils.log_helper - 🐞 步骤2: 创建黄色掩码
2025-05-28 19:53:21 | DEBUG | utils.log_helper - 🐞 步骤3: 提取黄色部分
2025-05-28 19:53:21 | DEBUG | utils.log_helper - 🐞 检测顶部边缘点
2025-05-28 19:53:22 | DEBUG | utils.log_helper - 🐞 从顶部边缘点直接拟合出横线
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_313300.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_313300', 'center_point': (1204, 1080), 'deviation': 244, 'left_track_mid_x': 630.579315557962, 'right_track_mid_x': 1795.755245635779, 'track_width': 1165.175930077817, 'center_slope': -3.893617021276596, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_345907.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_345907', 'center_point': (1197, 1080), 'deviation': 237, 'left_track_mid_x': 763.747986331692, 'right_track_mid_x': 1523.972221594392, 'track_width': 760.2242352627001, 'center_slope': 5.490566037735849, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_371161.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_371161', 'center_point': (1256, 1080), 'deviation': 296, 'left_track_mid_x': 781.9749035272042, 'right_track_mid_x': 1545.469805006876, 'track_width': 763.4949014796717, 'center_slope': 3.1530612244897958, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_396098.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_396098', 'center_point': (1177, 1080), 'deviation': 217, 'left_track_mid_x': 401.9459037347953, 'right_track_mid_x': 1480.1520315935463, 'track_width': 1078.206127858751, 'center_slope': 0.8054862842892768, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_419508.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_419508', 'center_point': (1038, 1080), 'deviation': 78, 'left_track_mid_x': 523.6092830942271, 'right_track_mid_x': 1427.2817637969165, 'track_width': 903.6724807026894, 'center_slope': 8.318181818181818, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_443066.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_443066', 'center_point': (1088, 1080), 'deviation': 128, 'left_track_mid_x': 498.5171712839233, 'right_track_mid_x': 1648.4181919995503, 'track_width': 1149.901020715627, 'center_slope': -4.168674698795181, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_466898.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_466898', 'center_point': (1010, 1080), 'deviation': 50, 'left_track_mid_x': 255.87816909790126, 'right_track_mid_x': 1605.7728929459377, 'track_width': 1349.8947238480364, 'center_slope': 2.0681818181818183, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_492394.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_492394', 'center_point': (1078, 1080), 'deviation': 118, 'left_track_mid_x': 263.640343787581, 'right_track_mid_x': 1714.0732052487347, 'track_width': 1450.4328614611536, 'center_slope': 1.923913043478261, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_518219.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_518219', 'center_point': (1051, 1080), 'deviation': 91, 'left_track_mid_x': 316.3212370728951, 'right_track_mid_x': 1694.3458433804717, 'track_width': 1378.0246063075765, 'center_slope': 4.833333333333333, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_540907.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_540907', 'center_point': (1107, 1080), 'deviation': 147, 'left_track_mid_x': 504.58894688593693, 'right_track_mid_x': 1705.484655715793, 'track_width': 1200.8957088298562, 'center_slope': -5.650793650793651, 'stone_path_mode': True}
2025-05-28 21:25:47 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_212547_566354.jpg
2025-05-28 21:25:47 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_212547_566354', 'center_point': (1117, 1080), 'deviation': 157, 'left_track_mid_x': 514.2220777160014, 'right_track_mid_x': 1680.8451178856387, 'track_width': 1166.6230401696373, 'center_slope': -7.6, 'stone_path_mode': True}
2025-05-28 21:29:33 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:29:33 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:29:33 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:29:33 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:29:33 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 50 条直线
2025-05-28 21:29:33 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 24 条垂直线
2025-05-28 21:29:33 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 21:30:05 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:05 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:05 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:05 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:05 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 53 条直线
2025-05-28 21:30:05 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 31 条垂直线
2025-05-28 21:30:05 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 21:30:07 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:07 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:07 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:07 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:07 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 42 条直线
2025-05-28 21:30:07 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 26 条垂直线
2025-05-28 21:30:07 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 21:30:08 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:08 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:08 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:08 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:08 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 48 条直线
2025-05-28 21:30:08 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 25 条垂直线
2025-05-28 21:30:08 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 7 条垂直线
2025-05-28 21:30:10 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:10 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:10 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:10 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:10 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 50 条直线
2025-05-28 21:30:10 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 24 条垂直线
2025-05-28 21:30:10 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 21:30:11 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:11 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:11 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:11 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:11 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 51 条直线
2025-05-28 21:30:11 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 22 条垂直线
2025-05-28 21:30:11 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 7 条垂直线
2025-05-28 21:30:12 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:12 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:12 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:12 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:12 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 51 条直线
2025-05-28 21:30:12 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 29 条垂直线
2025-05-28 21:30:12 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 7 条垂直线
2025-05-28 21:30:14 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:14 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:14 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:14 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:14 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 55 条直线
2025-05-28 21:30:14 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 32 条垂直线
2025-05-28 21:30:14 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 10 条垂直线
2025-05-28 21:30:15 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:15 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:15 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:15 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:15 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 58 条直线
2025-05-28 21:30:15 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 40 条垂直线
2025-05-28 21:30:15 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 21:30:16 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:16 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:16 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:16 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:16 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 52 条直线
2025-05-28 21:30:16 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 32 条垂直线
2025-05-28 21:30:16 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 10 条垂直线
2025-05-28 21:30:18 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:18 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:18 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:18 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:18 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 42 条直线
2025-05-28 21:30:18 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 22 条垂直线
2025-05-28 21:30:18 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 7 条垂直线
2025-05-28 21:30:19 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:30:19 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:30:19 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:30:19 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:30:19 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 38 条直线
2025-05-28 21:30:19 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 21 条垂直线
2025-05-28 21:30:19 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 7 条垂直线
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_214379.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_214379', 'center_point': (1038, 1080), 'deviation': 78, 'left_track_mid_x': 414.5, 'right_track_mid_x': 1632.5, 'track_width': 1218.0, 'center_slope': -3.29126213592233, 'stone_path_mode': True}
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_252728.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_252728', 'center_point': (974, 1080), 'deviation': 14, 'left_track_mid_x': 365.86486856407436, 'right_track_mid_x': 1705.5232940476335, 'track_width': 1339.658425483559, 'center_slope': -2.5161290322580645, 'stone_path_mode': True}
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_287175.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_287175', 'center_point': (956, 1080), 'deviation': -4, 'left_track_mid_x': 377.8622806395522, 'right_track_mid_x': 1510.9188659247004, 'track_width': 1133.0565852851482, 'center_slope': -5.928571428571429, 'stone_path_mode': True}
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_347017.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_347017', 'center_point': (959, 1080), 'deviation': -1, 'left_track_mid_x': 341.5073770316018, 'right_track_mid_x': 1678.7946966669247, 'track_width': 1337.287319635323, 'center_slope': -2.1, 'stone_path_mode': True}
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_373307.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_373307', 'center_point': (993, 1080), 'deviation': 33, 'left_track_mid_x': 302.24728351761587, 'right_track_mid_x': 1689.833729607225, 'track_width': 1387.5864460896091, 'center_slope': -10.5625, 'stone_path_mode': True}
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_399990.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_399990', 'center_point': (773, 1080), 'deviation': -187, 'left_track_mid_x': 177.30072632190343, 'right_track_mid_x': 1542.5253461214606, 'track_width': 1365.2246197995573, 'center_slope': -1.9444444444444444, 'stone_path_mode': True}
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_427034.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_427034', 'center_point': (1114, 1080), 'deviation': 154, 'left_track_mid_x': 446.7975285377811, 'right_track_mid_x': 1612.0734642894654, 'track_width': 1165.2759357516843, 'center_slope': 1.6277372262773722, 'stone_path_mode': True}
2025-05-28 21:53:30 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215330_452521.jpg
2025-05-28 21:53:30 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215330_452521', 'center_point': (826, 1080), 'deviation': -134, 'left_track_mid_x': 264.20555506815504, 'right_track_mid_x': 1405.6136261449096, 'track_width': 1141.4080710767546, 'center_slope': 6.568627450980392, 'stone_path_mode': True}
2025-05-28 21:54:42 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 21:54:43 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 21:54:44 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 21:54:45 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 21:54:47 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 63 条直线
2025-05-28 21:54:48 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 27 条垂直线
2025-05-28 21:54:49 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 21:54:51 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_215451_067497.jpg
2025-05-28 21:54:51 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_215451_067497', 'center_point': (1038, 1080), 'deviation': 78, 'left_track_mid_x': 414.5, 'right_track_mid_x': 1632.5, 'track_width': 1218.0, 'center_slope': -3.29126213592233, 'stone_path_mode': True}
2025-05-28 22:05:49 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:05:50 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:05:51 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:05:52 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:05:53 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 63 条直线
2025-05-28 22:05:54 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 27 条垂直线
2025-05-28 22:05:55 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 22:10:41 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:10:42 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:10:43 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:10:44 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:10:45 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 63 条直线
2025-05-28 22:10:46 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 27 条垂直线
2025-05-28 22:10:47 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 22:10:49 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_221049_619458.jpg
2025-05-28 22:10:49 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_221049_619458', 'center_point': (882, 1080), 'deviation': 4.547473508864641e-13, 'left_track_mid_x': 414.5, 'right_track_mid_x': 1420.2719487065303, 'track_width': 1005.7719487065303, 'center_slope': -0.029144823983732908, 'stone_path_mode': True}
2025-05-28 22:10:49 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:10:50 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:10:51 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:10:52 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 41 条直线
2025-05-28 22:10:53 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 9 条垂直线
2025-05-28 22:10:55 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_221055_727524.jpg
2025-05-28 22:10:55 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_221055_727524', 'center_point': (1021, 1080), 'deviation': -7.958078640513122e-13, 'left_track_mid_x': 564.0, 'right_track_mid_x': 1442.5, 'track_width': 878.5, 'center_slope': 0.2107379134860035, 'stone_path_mode': False}
2025-05-28 22:10:55 | INFO | utils.log_helper - 选择石板路模式结果
2025-05-28 22:14:47 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:14:49 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:14:50 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:14:51 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:14:52 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 63 条直线
2025-05-28 22:14:53 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 27 条垂直线
2025-05-28 22:14:54 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 22:18:52 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:18:53 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:18:54 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:18:55 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:18:56 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 174 条直线
2025-05-28 22:18:57 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 22 条垂直线
2025-05-28 22:18:58 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 22:18:59 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 1.06
2025-05-28 22:19:00 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_221900_846502.jpg
2025-05-28 22:19:00 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_221900_846502', 'center_point': (788, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 437.0, 'right_track_mid_x': 1379.6135272080828, 'track_width': 942.6135272080828, 'center_slope': -0.048637218045112854, 'stone_path_mode': True}
2025-05-28 22:22:39 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:22:41 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:22:42 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:22:43 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:22:44 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 63 条直线
2025-05-28 22:22:45 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 27 条垂直线
2025-05-28 22:22:46 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 8 条垂直线
2025-05-28 22:22:47 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.99
2025-05-28 22:22:48 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_222248_229138.jpg
2025-05-28 22:22:48 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_222248_229138', 'center_point': (882, 1080), 'deviation': 0.0, 'left_track_mid_x': 414.5, 'right_track_mid_x': 1420.2719487065303, 'track_width': 1005.7719487065303, 'center_slope': -0.029144823983733376, 'stone_path_mode': True}
2025-05-28 22:23:01 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:23:02 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:23:03 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:23:04 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:23:06 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 103 条直线
2025-05-28 22:23:07 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 30 条垂直线
2025-05-28 22:23:08 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 11 条垂直线
2025-05-28 22:23:09 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.84
2025-05-28 22:23:10 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_222310_065876.jpg
2025-05-28 22:23:10 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_222310_065876', 'center_point': (1030, 1080), 'deviation': 0.0, 'left_track_mid_x': 302.24728351761587, 'right_track_mid_x': 1350.5406776699247, 'track_width': 1048.2933941523088, 'center_slope': 0.11936592818945835, 'stone_path_mode': True}
2025-05-28 22:23:16 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:23:17 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:23:18 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:23:19 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:23:20 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 93 条直线
2025-05-28 22:23:21 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 17 条垂直线
2025-05-28 22:23:22 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 22:23:23 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.89
2025-05-28 22:23:24 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_222324_818971.jpg
2025-05-28 22:23:24 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_222324_818971', 'center_point': (872, 1080), 'deviation': -1.1368683772161603e-13, 'left_track_mid_x': 539.8450926202986, 'right_track_mid_x': 1405.6136261449096, 'track_width': 865.768533524611, 'center_slope': -0.13454341879828116, 'stone_path_mode': True}
2025-05-28 22:23:53 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:23:54 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:23:55 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:23:56 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:23:57 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 93 条直线
2025-05-28 22:23:58 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 17 条垂直线
2025-05-28 22:23:59 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 22:24:00 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.89
2025-05-28 22:24:01 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_222401_864900.jpg
2025-05-28 22:24:01 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_222401_864900', 'center_point': (872, 1080), 'deviation': -1.1368683772161603e-13, 'left_track_mid_x': 539.8450926202986, 'right_track_mid_x': 1405.6136261449096, 'track_width': 865.768533524611, 'center_slope': -0.13454341879828116, 'stone_path_mode': True}
2025-05-28 22:24:08 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:24:09 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:24:10 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:24:11 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:24:12 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 93 条直线
2025-05-28 22:24:13 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 17 条垂直线
2025-05-28 22:24:14 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 22:24:15 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.89
2025-05-28 22:24:17 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_222417_020705.jpg
2025-05-28 22:24:17 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_222417_020705', 'center_point': (872, 1080), 'deviation': -1.1368683772161603e-13, 'left_track_mid_x': 539.8450926202986, 'right_track_mid_x': 1405.6136261449096, 'track_width': 865.768533524611, 'center_slope': -0.13454341879828116, 'stone_path_mode': True}
2025-05-28 22:33:12 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:33:13 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:33:14 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:33:15 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:33:16 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 93 条直线
2025-05-28 22:33:17 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 17 条垂直线
2025-05-28 22:33:18 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 22:33:19 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.89
2025-05-28 22:33:20 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_223320_329353.jpg
2025-05-28 22:33:20 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_223320_329353', 'center_point': (872, 1080), 'deviation': -1.1368683772161603e-13, 'left_track_mid_x': 539.8450926202986, 'right_track_mid_x': 1405.6136261449096, 'track_width': 865.768533524611, 'center_slope': -0.13454341879828116, 'stone_path_mode': True}
2025-05-28 22:51:25 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 22:51:26 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 22:51:27 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 22:51:28 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 22:51:29 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 93 条直线
2025-05-28 22:51:30 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 17 条垂直线
2025-05-28 22:51:31 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 22:51:32 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.89
2025-05-28 22:51:33 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_225133_573204.jpg
2025-05-28 22:51:33 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_225133_573204', 'center_point': (872, 1080), 'deviation': -1.1368683772161603e-13, 'left_track_mid_x': 539.8450926202986, 'right_track_mid_x': 1405.6136261449096, 'track_width': 865.768533524611, 'center_slope': -0.13454341879828116, 'stone_path_mode': True}
2025-05-28 23:01:24 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:01:26 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:01:28 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:01:30 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 65 条直线
2025-05-28 23:01:32 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 8 条垂直线
2025-05-28 23:01:34 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.92
2025-05-28 23:01:36 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230136_236353.jpg
2025-05-28 23:01:36 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230136_236353', 'center_point': (852, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 397.0, 'right_track_mid_x': 1351.5, 'track_width': 954.5, 'center_slope': -0.16286380575687864, 'stone_path_mode': False}
2025-05-28 23:01:36 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 23:01:38 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:01:40 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:01:42 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:01:44 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 127 条直线
2025-05-28 23:01:46 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 30 条垂直线
2025-05-28 23:01:48 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 23:01:50 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.96
2025-05-28 23:01:52 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230152_516789.jpg
2025-05-28 23:01:52 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230152_516789', 'center_point': (838, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 409.3663817066892, 'right_track_mid_x': 1378.603238665647, 'track_width': 969.2368569589578, 'center_slope': -0.16918184085806812, 'stone_path_mode': True}
2025-05-28 23:01:52 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 23:01:54 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:01:56 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:01:58 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:02:00 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 127 条直线
2025-05-28 23:02:02 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 30 条垂直线
2025-05-28 23:02:04 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 23:02:06 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.96
2025-05-28 23:02:08 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230208_672297.jpg
2025-05-28 23:02:08 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230208_672297', 'center_point': (838, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 409.3663817066892, 'right_track_mid_x': 1378.603238665647, 'track_width': 969.2368569589578, 'center_slope': -0.16918184085806812, 'stone_path_mode': True}
2025-05-28 23:02:08 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:02:10 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:02:12 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:02:14 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 65 条直线
2025-05-28 23:02:16 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 8 条垂直线
2025-05-28 23:02:18 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.92
2025-05-28 23:02:20 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230220_810282.jpg
2025-05-28 23:02:20 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230220_810282', 'center_point': (852, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 397.0, 'right_track_mid_x': 1351.5, 'track_width': 954.5, 'center_slope': -0.16286380575687864, 'stone_path_mode': False}
2025-05-28 23:02:20 | INFO | utils.log_helper - 选择石板路模式结果
2025-05-28 23:08:28 | INFO | utils.log_helper - ========== 🚀 离线双轨道线居中测试 🚀 ==========
2025-05-28 23:08:28 | INFO | utils.log_helper - 使用自动检测模式
2025-05-28 23:08:28 | INFO | utils.log_helper - ============ 🚀 开始模拟双轨道居中 🚀 ============
2025-05-28 23:08:28 | ERROR | utils.log_helper - 🚫 测试过程中发生异常: name 'auto_detect_dual_track_lines' is not defined
2025-05-28 23:08:28 | INFO | utils.log_helper - ========== 离线双轨道线居中测试 ==========
2025-05-28 23:09:42 | INFO | utils.log_helper - ========== 🚀 离线双轨道线居中测试 🚀 ==========
2025-05-28 23:09:42 | INFO | utils.log_helper - 使用自动检测模式
2025-05-28 23:09:42 | INFO | utils.log_helper - ============ 🚀 开始模拟双轨道居中 🚀 ============
2025-05-28 23:09:42 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 23:09:43 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:09:43 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:09:44 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:09:44 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 127 条直线
2025-05-28 23:09:45 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 30 条垂直线
2025-05-28 23:09:45 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 23:09:46 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.96
2025-05-28 23:09:46 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230946_842936.jpg
2025-05-28 23:09:46 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230946_842936', 'center_point': (838, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 409.3663817066892, 'right_track_mid_x': 1378.603238665647, 'track_width': 969.2368569589578, 'center_slope': -0.16918184085806812, 'stone_path_mode': True}
2025-05-28 23:09:46 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:09:47 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:09:47 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:09:48 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 65 条直线
2025-05-28 23:09:48 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 8 条垂直线
2025-05-28 23:09:49 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.92
2025-05-28 23:09:49 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230949_965350.jpg
2025-05-28 23:09:49 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230949_965350', 'center_point': (852, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 397.0, 'right_track_mid_x': 1351.5, 'track_width': 954.5, 'center_slope': -0.16286380575687864, 'stone_path_mode': False}
2025-05-28 23:09:49 | INFO | utils.log_helper - 选择石板路模式结果
2025-05-28 23:09:49 | DEBUG | utils.log_helper - 👁️ 迭代 1/50: 原始偏差: -0.0px, 滤波后: -0.0px
2025-05-28 23:09:49 | INFO | utils.log_helper - 📍 已接近中心,稳定计数: 1/3
2025-05-28 23:09:50 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 23:09:50 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:09:51 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:09:51 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:09:52 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 127 条直线
2025-05-28 23:09:52 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 30 条垂直线
2025-05-28 23:09:53 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 23:09:53 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.96
2025-05-28 23:09:54 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230954_224929.jpg
2025-05-28 23:09:54 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230954_224929', 'center_point': (838, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 409.3663817066892, 'right_track_mid_x': 1378.603238665647, 'track_width': 969.2368569589578, 'center_slope': -0.16918184085806812, 'stone_path_mode': True}
2025-05-28 23:09:54 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:09:54 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:09:55 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:09:55 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 65 条直线
2025-05-28 23:09:56 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 8 条垂直线
2025-05-28 23:09:56 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.92
2025-05-28 23:09:57 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_230957_339325.jpg
2025-05-28 23:09:57 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_230957_339325', 'center_point': (852, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 397.0, 'right_track_mid_x': 1351.5, 'track_width': 954.5, 'center_slope': -0.16286380575687864, 'stone_path_mode': False}
2025-05-28 23:09:57 | INFO | utils.log_helper - 选择石板路模式结果
2025-05-28 23:09:57 | DEBUG | utils.log_helper - 👁️ 迭代 2/50: 原始偏差: -0.0px, 滤波后: -0.0px
2025-05-28 23:09:57 | INFO | utils.log_helper - 📍 已接近中心,稳定计数: 2/3
2025-05-28 23:09:57 | DEBUG | utils.log_helper - 🐞 增强对比度和颜色检测
2025-05-28 23:09:58 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:09:58 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:09:59 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:09:59 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 127 条直线
2025-05-28 23:10:00 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 30 条垂直线
2025-05-28 23:10:00 | DEBUG | utils.log_helper - 🐞 步骤4.5: 合并后找到 9 条垂直线
2025-05-28 23:10:01 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.96
2025-05-28 23:10:01 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_231001_584135.jpg
2025-05-28 23:10:01 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_231001_584135', 'center_point': (838, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 409.3663817066892, 'right_track_mid_x': 1378.603238665647, 'track_width': 969.2368569589578, 'center_slope': -0.16918184085806812, 'stone_path_mode': True}
2025-05-28 23:10:01 | DEBUG | utils.log_helper - 🐞 步骤1: 创建黄色掩码
2025-05-28 23:10:02 | DEBUG | utils.log_helper - 🐞 步骤1.5: 底部区域掩码
2025-05-28 23:10:02 | DEBUG | utils.log_helper - 🐞 步骤2: 边缘检测
2025-05-28 23:10:03 | DEBUG | utils.log_helper - 🐞 步骤3: 检测到 65 条直线
2025-05-28 23:10:03 | DEBUG | utils.log_helper - 🐞 步骤4: 找到 8 条垂直线
2025-05-28 23:10:04 | DEBUG | utils.log_helper - 🐞 选择最佳线对,评分: 0.92
2025-05-28 23:10:04 | INFO | utils.log_helper - 保存双轨迹线检测结果图像到: logs/image/dual_track_20250528_231004_698144.jpg
2025-05-28 23:10:04 | INFO | utils.log_helper - 双轨迹线检测结果: {'timestamp': '20250528_231004_698144', 'center_point': (852, 1080), 'deviation': -2.2737367544323206e-13, 'left_track_mid_x': 397.0, 'right_track_mid_x': 1351.5, 'track_width': 954.5, 'center_slope': -0.16286380575687864, 'stone_path_mode': False}
2025-05-28 23:10:04 | INFO | utils.log_helper - 选择石板路模式结果
2025-05-28 23:10:04 | DEBUG | utils.log_helper - 👁️ 迭代 3/50: 原始偏差: -0.0px, 滤波后: -0.0px
2025-05-28 23:10:04 | INFO | utils.log_helper - 📍 已接近中心,稳定计数: 3/3
2025-05-28 23:10:04 | SUCCESS | utils.log_helper - 🏁 成功居中,最终偏差: -0.0px
2025-05-28 23:10:11 | INFO | utils.log_helper - 轨迹检测成功率: 100.0% (3/3)
2025-05-28 23:10:11 | SUCCESS | utils.log_helper - ✅ 测试成功完成
2025-05-28 23:10:11 | INFO | utils.log_helper - ========== 离线双轨道线居中测试 ==========