小小的修改
This commit is contained in:
@@ -107,14 +107,9 @@ def draw_boxes(img, detections):
|
||||
def main():
|
||||
detector = YOLO26UAVInfer(MODEL_PATH)
|
||||
cap = cv2.VideoCapture(INPUT_VIDEO)
|
||||
|
||||
from control import UAVController
|
||||
|
||||
# 初始化飞控通信类 (后续需根据实际串口修改, 这里临时选用 /dev/ttyUSB0代替)
|
||||
uav_controller = UAVController(port='/dev/ttyUSB0', baud=115200)
|
||||
|
||||
# 控制总开关: 只有当人在地面发送允许指令才会开启 AI 追踪
|
||||
AI_CONTROL_ENABLE = False
|
||||
uav = UAVController()
|
||||
|
||||
if not cap.isOpened():
|
||||
print("❌ 无法打开视频源")
|
||||
@@ -163,17 +158,22 @@ def main():
|
||||
|
||||
# 画中心对准线
|
||||
cv2.line(frame, (int(img_center_x), int(img_center_y)), (int(target_x), int(target_y)), (255, 0, 0), 2)
|
||||
cv2.putText(frame, f"MAVLink Out -> Err_X: {err_x:+.3f} Err_Y: {err_y:+.3f}", (20, 70),
|
||||
cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255, 255, 0), 2)
|
||||
cv2.putText(frame, f"MAVLink Out -> Err_X: {err_x:+.3f} Err_Y: {err_y:+.3f}", (20, 70),cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255, 255, 0), 2)
|
||||
# ================ MAVLink 动作调用 =================
|
||||
uav.update_control(has_target=True, err_x=err_x, err_y=err_y)
|
||||
# =================================================
|
||||
else:
|
||||
cv2.putText(frame, "MAVLink Out -> Target LOST (HOVER)", (20, 70), cv2.FONT_HERSHEY_SIMPLEX, 0.6,
|
||||
(0, 0, 255), 2)
|
||||
# ================ MAVLink 丢失保护 =================
|
||||
uav.update_control(has_target=False)
|
||||
# =================================================
|
||||
|
||||
# 5. 在原始分辨率大图上,渲染精准目标框
|
||||
frame = draw_boxes(frame, detections)
|
||||
cv2.putText(frame, f"NPU Pure FPS: {fps_pure:.1f}", (20, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 255), 2)
|
||||
|
||||
# 🚀【核心优化点】只有在进入发送队列的前一秒,才将画好完美框的图 resize 为轻量化分辨率
|
||||
# 只有在进入发送队列的前一秒,才将画好完美框的图 resize 为轻量化分辨率
|
||||
send_frame = cv2.resize(frame, (640, 480))
|
||||
|
||||
# 6. 非阻塞式尝试推入图传队列
|
||||
|
||||
Reference in New Issue
Block a user