Я пытаюсь написать простую подпрограмму отслеживания для отслеживания некоторых моментов в фильме.
По сути, у меня есть серия фильмов длиной 100 кадров, на которых видны яркие пятна на темном фоне.
У меня ~ 100-150 точек на кадр, и они движутся по ходу фильма. Я хотел бы отследить их, поэтому я ищу эффективную (но, возможно, не слишком сложную для реализации) подпрограмму для этого.
Еще немного информации:
- пятна размером несколько (например, 5x5)
- движение не большое. Пятно обычно не перемещается более чем на 5-10 пикселей от своего исходного положения. Движения обычно плавные.
- «форма» этих пятен, как правило, фиксирована, они не растут и не уменьшаются, НО они становятся менее яркими по мере продвижения фильма.
- пятна не движутся в определенном направлении. Они могут двигаться вправо, а затем влево и снова вправо
- пользователь будет выбирать регион вокруг каждого пятна, а затем этот регион будет отслеживаться, поэтому мне не нужно автоматически находить точки.
Поскольку видео ч / б, я должен полагаться на легкость. Например, я подумал, что мог бы перемещаться по области и вычислять корреляцию области региона в предыдущем кадре с той, которая находится в различных позициях в следующем кадре. Я понимаю, что это довольно наивное решение, но вы думаете, оно может сработать? Кто-нибудь знает конкретные алгоритмы, которые делают это? Он не должен быть сверхбыстрым, если он точен, я счастлив.
Спасибо
Nico