2

Рассмотрим (цветное) видео, записанное в плохих условиях. Самые яркие пиксели его кадров намного ниже чистого белого, а самые темные - намного выше чистого черного. Можно ли растянуть контраст каждого кадра ближе к полному диапазону яркости, как звуковой компрессор / лимитер? Можно ли это сделать в ffmpeg, используя некоторые из его многочисленных фильтров?

Конечно, простое отбрасывание ярчайшего значения каждого кадра в белый и самый темный в черный делает экспозицию заикаться, как в 1910 году. Степень растяжения контраста каждого кадра должна зависеть от самых ярких и темных значений окружающих кадров, вероятно, +-10 секунд.

Можно извлечь все кадры, получить белые и черные точки каждого кадра с помощью imagemagick, сохранить их в массиве, сгладить массив, снова увеличить контрастность каждого кадра с помощью imagemagick и восстановить видео. Но это похоже на средневековье.

1 ответ1

1

Histeq приближается к тому, что вы хотите. Но вы также можете взглянуть на различные варианты фильтров LUT и lut3d.

Фильтры lut более настраиваемы, так как вы можете посмотреть на кадр и определить, какие значения использовать. Кроме того, если существует большая разница в уровнях яркости входного материала, то выходной сигнал может быть искажен при применении коррекции "на кадр". Применение равномерной силы коррекции ко всем кадрам даст более плавный результат.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .