Esp 32-OpenCV+ YOLOv 8中的Cam流是如此滞后

ulydmbyx  于 2023-06-06  发布在  其他
关注(0)|答案(2)|浏览(367)

我正在使用ESP 32-Cam WebServer并在python OpenCV+ YOLOv 8中捕获凸轮流。
这是有效的,但有很大的滞后。
延迟大约是相机捕获后的2秒。
下面是我的代码:

import cv2
from ultralytics import YOLO

model = YOLO('yolov8n.pt')
cap = cv2.VideoCapture("http://ip")

while cap.isOpened():
    success,frame = cap.read()

    if success:
        results = model(frame)

        annotated_frame = results[0].plot()

        cv2.imshow("YOLOv8 Inference",annotated_frame)

        if cv2.waitKey(1) & 0xFF ==ord("q"):
            break
    else:
        break
    
cap.release()
cv2.destroyAllWindows()

这是由于ESP 32的硬件性能不足,还是可以对代码进行任何修改?

bfnvny8b

bfnvny8b1#

人工智能的处理会让一切变慢。
这会导致视频缓冲区膨胀,从而导致明显的延迟。
放弃AI处理作为测试。你可能会看到它播放更少的延迟。
要解决这个问题,请在自己的线程中运行AI处理,并确保您不会强制它处理每一帧。

hgc7kmma

hgc7kmma2#

流媒体本身就是一门艺术。这种延迟可能是由流媒体应用程序的一些缓冲造成的。您应该查看流的文档,了解如何延迟延迟。通常在平滑度、延迟和质量之间有一个折衷。

相关问题