Удаление плохих кадров из видео

Я работаю с фотограмметрией, используя сетку вместе с видео. Поскольку сетке нужен список изображений, я извлекаю кадры из видео с помощью ffmpeg:

ffmpeg -i video.mp4 -qscale:v 2 output_%03d.jpg

Мои видеофайлы длится около 2/3 минут, при их извлечении получается около 1500/2000 кадров, и я хотел бы сохранить только лучший из них.

Я попытался определить "лучший" как сумму значения размытия [bv ] и значения разницы [dv], являющегося разницей между текущим кадром i и кадром i+1. Используя это, я могу сохранить кадры с наименьшей суммой (и bv, и dv находятся в диапазоне 0-1):

bv+(1-bv)

В идеале это позволит сохранить лучшие не размытые кадры, которые имеют самый высокий информационный выигрыш по сравнению с предыдущим.

Но я считаю этот подход чем-то неполным.

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

Так что теперь я не знаю, искать ли что-то еще в литературе, пытаться реализовать документ со сверхвысоким разрешением или продолжить мой первый подход.

Кто-нибудь может помочь?

0 ответов

Другие вопросы по тегам