Я снимаю видео с камеры и сохраняю их с помощью функции opencv VideoWriter.Я сохраняю захваченные видео как несжатые файлы avi.Когда я заканчиваю запись видео, у меня есть другой скрипт, который должен читать видео кадр за кадром, обрабатывать значения пикселей.Однако, когда я пытаюсь прочитать кадры сохраненного видео, значения пикселей немного сбрасываются.
Например, сравнивая первые кадры записываемого видео и читаемого видео (предполагается, что100% идентичны), я замечаю, что значения пикселей отключены на небольшое число (значения RGB на небольшое число, обычно меньше 5).
Я уже убедился, что использую точно такое жевидеокодек при записи видео и при чтении видео (проверьте код ниже)
def write_video():
out = cv2.VideoWriter("encrypted.avi" ,cv2.VideoWriter_fourcc(*'XVID'),30, (640,480))
foreach frame:
out.write(frame)
def read_video():
cap = cv2.VideoCapture("encrypted.avi")
cap.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter_fourcc(*'XVID'))
while(cap.isOpened()):
ret, frame = cap.read()
Для моего приложения записываемые и читаемые кадры должны совпадать на 100%.Я включил изображение, подчеркивающее разницу между первым кадром в записываемом видео и читаемым видео.Любая помощь очень ценится!