с моей веб-камерой, я хочу делать снимки периодически, каждые 5 секунд, при потоковой передаче видео в браузер. Как я могу это сделать в Python, с предпочтительным Flask и Opencv?Снимайте фотографии во время потоковой передачи веб-камеры
ответ
В Windows очень легко использовать веб-камеру с pygame.
E.g.
import time
from VideoCapture import Device
webCam = Device()
name = 1
while(True): # Take pictures forever
webCam.saveSnapshot(name + '.jpg') # Take picture
time.sleep(5) # Wait 5 seconds
name = name+1 # We don't want to write over the same image every time
В Linux это a bit more complicated, но это по-прежнему тот же самый принцип.
Однако, если вы хотели бы сделать это без задержек, это может работать лучше:
import time
from VideoCapture import Device
webCam = Device()
name = 1
while(True): #Take pictures forever
webCam.saveSnapshot(name + '.jpg') #Take picture
start = time.time()
while not (time.time() - start > 50):
pass
name = name+1 #We don't want to write over the same image every time
проблема с использованием time.sleep что он останавливает потоковое вещание. Я хочу как потокового, так и моментального снимка. Я посмотрел на threading.Timer, но я смутился. – Mostafa
Вы можете сделать это: 'start = time.time() while not (time.time() - start> 5): pass' См. Выше, я отредактировал свой ответ –
If это ответили на ваш вопрос, пожалуйста, отметьте мой ответ как правильный. Однако, если вам все еще нужно разъяснение, пожалуйста, укажите это в комментариях. –
не написать это самостоятельно, использовать инструменты как '' motion'' –