Удаление плохих кадров из видео
Я работаю с фотограмметрией, используя сетку вместе с видео. Поскольку сетке нужен список изображений, я извлекаю кадры из видео с помощью 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)
В идеале это позволит сохранить лучшие не размытые кадры, которые имеют самый высокий информационный выигрыш по сравнению с предыдущим.
Но я считаю этот подход чем-то неполным.
Затем я посмотрел на многокадровое суперразрешение, в котором они используют несколько смежных кадров для создания изображения с высоким разрешением. Проблема в том, что я не могу найти какой-либо рабочий код, принимающий в качестве входных данных список изображений и возвращающий изображение с более высоким разрешением.
Так что теперь я не знаю, искать ли что-то еще в литературе, пытаться реализовать документ со сверхвысоким разрешением или продолжить мой первый подход.
Кто-нибудь может помочь?