Я новичок в OpenCV. Я хочу сделать некоторую обработку изображения в кадрах видео, которое загружается на мой сервер. Я просто хочу прочитать доступные кадры и записать их в каталог. И дождитесь загрузки другой части видео и записи кадров в каталог. И я должен ждать, пока каждый кадр будет полностью загружен, а затем напишет его в файл.
Можете ли вы рассказать мне, как я могу это сделать с помощью OpenCV (Python)?
Изменить 1:
Я написал этот код для захвата видео из файла, в то время как новые данные добавляются в конце файла. Другими словами, файл out.mp4
не является полным видео, а другая программа записывает на него новые кадры. Я собираюсь сделать это, ожидая, что другая программа будет писать новые кадры, затем прочитает их и покажет.
Вот мой код:
import cv2
cap = cv2.VideoCapture("./out.mp4")
while True:
if cap.grab():
flag, frame = cap.retrieve()
if not flag:
continue
else:
cv2.imshow('video', frame)
if cv2.waitKey(10) == 27:
break
Таким образом, проблема заключается в вызове cap.grab()
! когда нет рамки, он вернет False
! И он больше не будет захватывать кадры, даже если я жду долгое время.