ffmpeg: esticar adaptativamente o contraste

ffmpeg: esticar adaptativamente o contraste

Considere um vídeo (colorido) gravado em condições precárias. Os pixels mais brilhantes de seus quadros estão bem abaixo do branco puro, e os mais escuros, bem acima do preto puro. O contraste de cada quadro pode ser esticado para mais perto da faixa total de brilho, como um compressor/limitador de áudio? Isso pode ser feito no ffmpeg, usando alguns de seus diversos filtros?

É claro que simplesmente alterar o valor mais claro de cada quadro para branco e o mais escuro para preto faz com que a exposição gagueje como algo filmado em 1910. Quanto esticarcadao contraste do quadro deve depender dos valores mais claros e mais escuros doem torno daquadros, provavelmente +-10 segundos.

Pode-se extrair todos os quadros, obter os pontos brancos e pretos de cada quadro com o imagemagick, armazená-los em uma matriz, suavizar a matriz, esticar o contraste de cada quadro novamente com o imagemagick e reconstruir o vídeo. Mas isso parece positivamente medieval.

Responder1

Ohisteqchega perto do que você deseja. Mas você também pode observar os vários tipos de filtros LUT e também lut3d.

Os filtros lut são mais personalizáveis, pois você pode realmente olhar para um quadro e determinar quais valores usar. Além disso, se houver uma grande variação nos níveis de luminância do material de entrada, a saída poderá tremer ao aplicar uma correção "por quadro". Aplicar uma força de correção uniforme a todos os quadros produziria um resultado mais suave.

informação relacionada