Aplicar perspectiva de imagem através do modo em lote no gimp

Aplicar perspectiva de imagem através do modo em lote no gimp

Preciso realizar uma operação de perspectiva de imagem na linha de comando?

Existe algum lugar onde a documentação é fornecida adequadamente. Eu fiz esta pergunta sobre estouro de pilha, você pode verificaraqui.

Se houver qualquer outra ferramenta disponível que forneça interface de linha de comando para fazer a mesma coisa, também será bom para mim.

Responder1

Provavelmente a melhor ferramenta para manipular imagens seria o ImageMagick. Se você der uma olhada na documentação, há muitos exemplos que mostram como usar o -distortrecurso que acredito ser o que você está procurando.

Exemplo

Antes              ss#1                  Depois      insira a descrição da imagem aqui

Linha de comando para realizar a conversão:

$ convert checks.png -filter point           
    -virtual-pixel tile -mattecolor DodgerBlue
    -distort Perspective '0,0 20,60  90,0 70,63  0,90 5,83  90,90 85,88'
    horizon_tile_point.png

Existem 2 outros métodos para fazer a amostragem para obter uma melhor aparência da imagem resultante. Especificamente "Grid Super Sampling" e "Elliptical Weighted Area (EWA) Resampling". Este último é o padrão.

Como faço para calcular as coordenadas?

Existem 2 recursos para entender como gerar a série de coordenadas para convert. O primeiro é o que dei acima. A segunda é esta SO Q&A intitulada:Compreendendo a distorção da projeção em perspectiva ImageMagick, especificamenteResposta de @KurtPfeifle.

As coordenadas são as seguintes:

Sx1,Sy1 Dx1,Dy1   Sx2,Sy2 Dx2,Dy2   Sx3,Sy3 Dx3,Dy3   ...   Sxn,Syn Dxn,Dyn  
  • x é usado para representar uma coordenada X.
  • y é usado para representar uma coordenada Y.
  • 1, 2, 3, ... n é usado para representar o 1º, 2º, 3º, ... enésimo pixel.
  • S é usado aqui para o pixel de origem.
  • D é usado aqui para o pixel de destino.

Referências

informação relacionada