Erstellen eines gebogenen Bildes/einer Fotowand/Montage mit der Linux-Befehlszeile

Diese Frage ist ein Crosspost von Stack Overflow wegen ihrer überwiegend grafischen Natur und der Tatsache, dass ich denke, dass eine hauptsächlich grafisch orientierte Community Ratschläge und Einblicke geben kann, die die Community, die Stack Overflow häufig hat, möglicherweise nicht kennt oder erlebt innerhalb. Wenn Stack Overflow der aktuell richtige Ort bleibt, um dies zu diskutieren, sagen Sie dies bitte.


Wie würde ich vorgehen, um denselben Effekttyp zu erstellen, den Safari für die Ansicht „Top Sites“ verwendet?

Ich würde eine Methode sehr bevorzugen, bei der ich keine GUI starten muss. Es macht mir nichts aus, wenn ich die Bilder zuerst zu einer einzigen Leinwand zusammensetzen muss - ich kann das einfach meinem Befehl voranstellen.

Ich habe einen verwandten, aber nicht ganz hilfreichen, ähnlichen Beitrag gefunden (obwohl ich den Screenshot von dort habe: P): openglES - Verleiht einer Bilderwand einen gekrümmten Effekt

Screenshot von Safari

Cross-Posting wird im SE-Netzwerk nicht empfohlen. Wählen Sie eine Website aus, auf die Ihre Frage Ihrer Meinung nach am besten passt, und stellen Sie sie nur dort ein. Wenn es nicht an der richtigen Stelle ist, wird es von einem Mod auf die richtige Seite migriert. Bitte entfernen Sie die Stackoverflow-Frage (da diese noch keine Antworten hat).

Antworten (1)

Sie können den Verzerrungsfilter von imagemagick verwenden . Insbesondere Barrel Distortion oder Cylinder2Plane sollten das erreichen, was Sie wollen. Nachdem Sie Ihre Bilder zusammengesetzt haben:

convert input.png -matte -virtual-pixel transparent -distort Barrel "0.0 0.0 0.0 1.0   0.0 0.0 -0.4 1.6"  output.png

oder

convert input.png -virtual-pixel transparent +distort Cylinder2Plane 90.467  output.png
Wow, beide liefern wirklich interessante Ergebnisse, danke! Insbesondere der erste bietet viele Optionen zur Konfiguration des generierten Bildes, was großartig ist. (Es hat eine Weile gedauert, bis ich hierher zurückkam, sorry :P)