2014-12-03 77 views
0

这个小时的问题是...... 在Opencv摄像头窗口(实时)上添加文本。 让我解释一下;通过这段代码,我使用Python3上的Opencv打开网络摄像机。将文本添加到视频,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的可能性,但我仍然没有想出如何在开幕后10秒钟内完成)。

我的问题是如何在现场摄像头图像(视频)的窗口上有文字? 我试过,但不起作用:

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

至少我不知道在哪里把它..

,并和你倒数任何意见? 问候 费德里科

回答

2

你应该后调用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 

当心,虽然,这是一个繁忙的等待。