У меня есть простой python код, который выполняет усреднение видеокадров и сохраняет снимок экрана до окончания видео:
c = cv2.VideoCapture(video)
_,f = c.read()
avg1 = np.float32(f)
avg2 = np.float32(f)
frame_count = int(c.get(cv2.CAP_PROP_FRAME_COUNT))
cframe = 0
while(1):
_,f = c.read()
cv2.accumulateWeighted(f,avg1,0.01)
cv2.accumulateWeighted(f,avg2,0.005)
res1 = cv2.convertScaleAbs(avg1)
res2 = cv2.convertScaleAbs(avg2)
cframe += 1
if cframe == frame_count - int((frame_count/100)*10):
cv2.imwrite(frame_s, adjusted2)
break
cv2.destroyAllWindows()
c.release()
Очевидно, это время выполнения кода, которое длится всю продолжительность видео. Мой вопрос: есть ли какая-нибудь техника, которую я могу сделать такой процесс более быстрым и эффективным способом? Спасибо