Quero redimensionar uma imagem de 1366 x 768 aprimorada para 480 x 270 nativos novamente.
Toda vez que faço isso, linhas de pixels são deslocadas. Exemplo com áreas destacadas. A imagem à direita está ligeiramente fora de enquadramento, mas as diferenças são claramente visíveis.
Eu tentei usar variações do seguinte comando sem sucesso:
ffmpeg -i "imagepath" -q:v 1 -vf scale=480:-1 -sws_flags neighbor "outputpath"
Alguns conselhos sobre o que está acontecendo e como eu poderia reamostrá-lo sem perder colunas e linhas de pixels seriam muito apreciados.
Seus resultados são normais, porque seu tamanho de entrada não é um múltiplo exato de seu tamanho de saída – não é uma redução exata como 3 para 1, mas mais como 2,85 (ish) para 1; assim, eventualmente, haverá pixels de saída que correspondem apenas a, por exemplo, 2 ou 4 ou 3½ pixels de entrada e devem ser esticados ou compactados.
A imagem fornecida parece ter 3 × 3 "pixels grandes" (pontos? células? quadrados? Não conheço um bom termo), portanto, se você afirma que o original era 480 × 270, isso significa que foi realmente aumentado para 1440 ×810 e, em seguida, cortada para caber em 1366 × 768. Portanto, o original recuperável é de apenas 456×256.
(Para ver isso visualmente, abra o arquivo no GIMP, selecione "Ativar grade", "Configurar grade", escolha 3×3px. Observe que verticalmente não tem nem mesmo uma quantidade inteira de "pixels grandes"; o mais à esquerda e o mais à direita as colunas têm apenas 2px de largura e fazem com que tudo seja deslocado da grade.)
Então o que você precisa fazer é:
Preencher ou recortar a imagem para que ambas as dimensões sejam múltiplos de 3 (o tamanho do "pixel grande"). O tamanho vertical já está bom, mas horizontalmente você deve preencher 1px à esquerda e à direita - isso também realinhará as colunas à grade. Usei o "Tamanho da tela" do GIMP porque não conheço os filtros ffmpeg.
Reduza para 456:256 ou 456:-1 porque esses são os dados reais que você tem – o restante foi cortado. Eu usei seu comando ffmpeg para isso.
Aqui está o resultado: