mi-task/test/logs/test_track_detection.py

38 lines
1.6 KiB
Python
Raw Permalink Normal View History

2025-05-14 12:42:01 +08:00
import cv2
import argparse
from utils.detect_track import detect_yellow_track, visualize_track_detection
def main():
# 创建命令行参数解析器
parser = argparse.ArgumentParser(description='黄色赛道检测测试程序')
parser.add_argument('--image', type=str, required=True, help='要处理的图像路径')
parser.add_argument('--save', type=str, help='保存结果图像的路径(可选)')
parser.add_argument('--observe', action='store_true', help='显示中间处理步骤')
parser.add_argument('--delay', type=int, default=500, help='步骤间延迟时间(毫秒)')
# 解析命令行参数
args = parser.parse_args()
# 检测赛道并估算距离
print("正在处理图像...")
distance, path_info = detect_yellow_track(args.image, observe=args.observe, delay=args.delay)
if distance is not None and path_info is not None:
print("\n===== 赛道分析结果 =====")
print(f"估算距离: {distance:.2f}")
print(f"赛道角度: {path_info['track_angle']:.2f}°")
print(f"转向方向: {path_info['turn_direction']}")
print(f"赛道是否笔直: {'' if path_info['is_straight'] else ''}")
print(f"黄色区域占比: {path_info['area_ratio']:.4f}")
print("========================\n")
else:
print("未能检测到黄色赛道,请检查图像或调整参数")
# 可视化检测过程
print("开始可视化检测过程...")
visualize_track_detection(args.image, save_path=args.save, observe=args.observe, delay=args.delay)
print("处理完成")
if __name__ == "__main__":
main()