Aplicar perspectiva de imagen a través del modo por lotes en gimp

Aplicar perspectiva de imagen a través del modo por lotes en gimp

¿Necesito realizar una operación de perspectiva de imagen desde la línea de comando?

¿Existe algún lugar donde se proporcione la documentación correctamente? He hecho esta pregunta sobre el desbordamiento de pila, puedes consultaraquí.

Si hay alguna otra herramienta disponible que proporcione una interfaz de línea de comandos para hacer lo mismo, también será buena para mí.

Respuesta1

Probablemente la mejor herramienta para manipular imágenes sería ImageMagick. Si echas un vistazo a la documentación, hay ejemplos extensos que muestran cómo usar la -distortfunción que creo que es lo que estás buscando.

Ejemplo

Antes              SS #1                  después      ingrese la descripción de la imagen aquí

Línea de comando para realizar la conversión:

$ 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

Existen otros dos métodos para realizar el muestreo y lograr que la imagen resultante se vea mejor. Específicamente "Supermuestreo de cuadrícula" y "Remuestreo de área ponderada elíptica (EWA)". Este último es el predeterminado.

¿Cómo calculo las coordenadas?

Hay 2 recursos para comprender cómo generar la serie de coordenadas para convert. El primero es el que di arriba. El segundo es este SO Q&A titulado:Comprender la distorsión de la proyección en perspectiva ImageMagick, específicamenteLa respuesta de @KurtPfeifle.

Las coordenadas son las siguientes:

Sx1,Sy1 Dx1,Dy1   Sx2,Sy2 Dx2,Dy2   Sx3,Sy3 Dx3,Dy3   ...   Sxn,Syn Dxn,Dyn  
  • x se utiliza para representar una coordenada X.
  • y se utiliza para representar una coordenada Y.
  • 1, 2, 3, ... n se utiliza para representar el 1.º, 2.º, 3.º, ... n.ésimo píxel.
  • S se utiliza aquí para el píxel de origen.
  • Aquí se utiliza D para el píxel de destino.

Referencias

información relacionada