Как использовать opencv cv2.putTexttext для отображения текста в течение 2 секунд? - PullRequest
0 голосов
/ 06 мая 2018

Я новичок в opencv и делаю приложение, которое распознает лицо человека, а затем отображает его идентификатор и просит его подтвердить это, кивая головой или отменить распознанное лицо, качая головой. Если пользователь подтверждает, его идентификатор, имя и временная метка отправляются в базу данных, и если они отменяют цикл, снова запускается процесс распознавания. Я хочу временно отобразить сообщение об успехе в окне cv2 методом puttext в течение 2 секунд, прежде чем удалить его. Как лучше всего отобразить это сообщение? Вот как я сейчас отображаю сообщения на экране. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

если не жест: cv2.putText (кадр, 'обнаружен:', (50, 50), self.font, 0.8, (0, 0, 0), 2)

1 Ответ

0 голосов
/ 06 мая 2018

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)
...