OpenCV - извлекать еще непрозрачные логотипы телеканала - PullRequest
0 голосов
/ 19 апреля 2019

Моя цель состоит в том, чтобы извлечь регион на видео о непрозрачных логотипах телеканалов.

Я начал играть с этим кодом в 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()

Вот как это выглядит после обработки видео:

enter image description here

После усреднения по времени большинство объектов в кадре становятся размытыми, за исключением логотипа и, возможно, некоторых других неизменяемых во времени объектов.

Мой вопрос: как я могу определить «наиболее» статическую область, чтобы вырезать и сохранить как изображения из видео?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...