Линейная интерполяция видеокадров в OpenCV Python
Я пытался добиться так называемого "побочного эффекта" из метода LFI для вставки фреймов в OpenCV, Python.
Тем не менее, вывод не дает результатов. Я использовал функцию смешивания OpenCV для вычисления промежуточных кадров.
Вот код:
from __future__ import division
import numpy as np
import cv2
cap = cv2.VideoCapture('test_vid.avi')
starting = True
prev_frame = np.uint8([250])
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
if starting==True:
prev_frame = frame
starting = False
else:
for i in range(1,10):
weight = i/10
#get the blended frames in between
mid_frame = cv2.addWeighted(prev_frame,weight,frame,1-weight,0)
cv2.imshow('frame2',mid_frame)
#cv2.imshow('frame',frame)
prev_frame = frame
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Результат выглядит так, как будто это тот же кадр, что и текущий кадр (никаких признаков фактического смешивания не происходит)