Tamanho do kernel do filtro gaussiano Ffmpeg (gblur)

0

Estou aplicando um filtro gaussiano em um vídeo usando o filtro gblur do ffmpeg . O filtro aceita a opção sigma, mas não permite escolher o tamanho do kernel. Para relatar corretamente o meu uso do Gaussian Blur, gostaria de saber qual tamanho do kernel é usado no ffmpeg. (FYI, eu usei sigma = 0,5 e sigma = 0,8.)

Agora, essa questão do StackExchange discute teoricamente a relação entre sigma, raio e tamanho do kernel. Se eu interpretar as respostas corretamente, então radius = 2 * sigma. E o raio é a quantidade de pixels em cada direção que o filtro gaussiano usa. Assim, kernel_size = ceil (radius * 2 + 1). Por exemplo, se sigma = 0.5, então é um kernel 3x3, enquanto se sigma = 0.8, então é um kernel 5x5.

Por outro lado, Wikipedia diz: "Normalmente, um programa de processamento de imagens precisa apenas calcular uma matriz com dimensões ceil (6 * sigma) x ceil (6 * sigma) para garantir um resultado suficientemente próximo ao obtido por toda a distribuição gaussiana. " Assim, novamente, se sigma = 0.5, então é um kernel 3x3, enquanto se for sigma = 0.8, então é um kernel 5x5.

No entanto, encontrei um artigo científico intitulado " Uma marca d'água de vídeo de baixa complexidade no domínio compactado H.264 " que contradiz as declarações anteriores. Os autores afirmam ter utilizado um Filtro Gaussiano 5x5 com sigma = 0,3 e sigma = 0,4 (na Tabela III e na Tabela IV). Mas para esses sigma's, eu esperaria um tamanho de kernel de 3x3?

Em suma, estou confuso sobre como deduzir o tamanho do kernel usado no ffmpeg, enquanto só posso alterar o sigma. Eu também não sou mais sábio lendo o código-fonte ffmpeg gblur . Existe alguém que possa me dar clareza sobre esse assunto? Obrigado antecipadamente!

    
por Hannes M 07.09.2018 / 13:54

0 respostas