#python #opencv
#питон #opencv
Вопрос:
моя цель — выделить регион на видео о все еще непрозрачных логотипах телеканалов.
Я начал играть с этим кодом на Python, который создает обрамленный средний результат
import cv2
import numpy as np
c = cv2.VideoCapture('test.mp4')
_,f = c.read()
avg1 = np.float32(f)
avg2 = np.float32(f)
while(1):
_,f = c.read()
cv2.accumulateWeighted(f,avg1,0.1)
cv2.accumulateWeighted(f,avg2,0.01)
res2 = cv2.convertScaleAbs(avg2)
cv2.imshow('img',f)
cv2.imshow('avg2',res2)
cv2.destroyAllWindows()
c.release()
Вот как это выглядит после обработки видео:
После усреднения по времени большинство объектов в кадре становятся размытыми, за исключением логотипа и, возможно, некоторых других объектов, не зависящих от времени.
Мой вопрос таков: как я могу определить «самую» статичную область, чтобы вырезать и сохранить как изображения из видео?
Комментарии:
1. Вы можете рассчитать дисперсию или стандартное отклонение для каждой позиции пикселя с течением времени и выбрать область, в которой это значение минимально.
2. Пожалуйста, какой-нибудь пример кода?