Хочу сделать программу, чтобы каждые три секунды делала фото с вебкамеры с помощью cv2. Только фото делается не каждые 3 секунды, а одновременно

вот код

import cv2

import time as tm

for m in range(1,4):

    tm.sleep(3)

    cap = cv2.VideoCapture(2)

    for i in range(30):

        cap.read()

    ret, frame = cap.read()

    for q in range(1,4):

        cv2.imwrite("cam2"+ str(q) +".png", frame)   

        cap.release()

Ответы (1 шт):

Автор решения: CrazyElf

Ваш текущий код вообще делает что-то непонятное.

  • 30 раз читает с камеры, никуда не помещая результат
  • 3 раза подряд читает один и тот же кадр, сохраняя его в разные файлы

Может вы хотели сделать так:

import cv2
import time as tm

for m in range(1,4):
    tm.sleep(3)
    cap = cv2.VideoCapture(2)
    ret, frame = cap.read()
    cv2.imwrite("cam2"+ str(m) +".png", frame)   
    cap.release()
→ Ссылка