如何使用opencv的cv2.putTexttext显示文字2秒?

How to use opencv's cv2.putTexttext to display text for 2 seconds?

我是opencv的新手,正在制作一个识别人脸的应用程序,然后显示他们的id并要求他们通过点头确认或通过摇头取消识别的人脸。如果用户确认,他们的 id、姓名和时间戳将被推送到数据库,如果他们取消循环,则再次启动识别过程。我想在删除它之前使用 puttext 方法在 cv2 window 中临时显示一条成功消息 2 秒。显示此消息的最佳方式是什么? 这就是我目前在屏幕上显示消息的方式。如果您需要更多信息,请告诉我。

如果不是手势:cv2.putText(frame, 'detected:', (50, 50), self.font, 0.8, (0, 0, 0), 2)

OpenCV 没有这个功能。你可以实现类似的东西:

import cv2
from datetime import datetime

last_detected = datetime.now()
while True:
    ret, frame = video.read()
    if not ret:
        break

    # detect gesture here
    gesture = detect_gesture()

    if gesture:
        last_detected = datetime.now()
    else:
        if (datetime.now() - last_detected).total_seconds() < 2:
            cv2.putText(frame, 'detected:', (50, 50), self.font, 0.8, (0, 0, 0), 2)

    cv2.imshow("frame", frame)
    cv2.waitKey(1)