将文本添加到视频,Opencv

时间:2014-12-03 21:12:37

标签: python opencv

这个小时的问题是...... 在Opencv Webcam窗口上添加文本(实时)。 让我解释;使用此代码,我在Python3上使用Opencv打开网络摄像头。

import cv2
import time

capture = cv2.VideoCapture('Picture Maker')
capture
cap = cv2.VideoCapture(0)

while True:
ret,im = cap.read()
blur = cv2.GaussianBlur(im,(0,0),1)
cv2.imshow('Picture Maker',blur)
cv2.imwrite('MyPic.jpg', blur)
if cv2.waitKey(10) == 27:
    break

线cv2.imwrite('MyPic.jpg', blur)就在那里,因为我的计划的目的是让我有可能在一段确定的时间后拍照(这就是import time的原因,但我仍然没有' t在开场10秒后想出如何做到这一点。

我的问题是如何使用现场网络摄像头图像(视频)在窗口上显示文本? 我试过这个但是不起作用:

font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(capture,'Count Down',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)

或者至少我不知道该把它放在哪里..

你对倒计时有什么建议吗? 问候 费德里科

1 个答案:

答案 0 :(得分:3)

您应该在所有图片后调用imshow - putTextimwrite

另外,要在给定时间过后拍照,你应该在循环外初始化一个定时器,并在每帧检查是否已经过了10秒。你可以这样做:

import time

start_time = time.time()
while True:
    waited = time.time() - start_time
    print('Waited {} seconds'.format(waited))

    if waited >= 10:
        # take pic
        break

但请注意,这是一个忙碌的等待。