Slice und ordnen Sie das lange, dünne Bild auf dem Bildschirm an

378
Camille Goudeseune

Ich habe viele Bilder mit jeweils etwa 10000 x 40 Pixeln, die Grafiken darstellen, bei denen es sich hauptsächlich um Ketten mit einigen Sporen und anderen "Dekorationen" handelt. (Sie werden hergestellt, indem OpenFSTs fstdrawdurch Graphviz's geleitet werden dot).

Wie kann ich von der Befehlszeile aus eines dieser mageren Bilder automatisch mit Brute-Force neu anordnen, damit sie lesbar auf einem 1920 x 1080-Bildschirm passt? Zerlegen Sie das Bild beispielsweise in höchstens 1920 Pixel lange Teile und stapeln Sie es dann vertikal.

Etwas, das ImageMagick convert -cropin einer Schleife verwendet?

Folgendes ist fehlgeschlagen:

  • Ersetzen dotmit einem seiner Schwestern neato, fdpusw. Wenigstens fdpgibt ein nicht-mageres Bild, sondern nur, weil das dünne Graphen verdrillt zufällig und Überlappungen wie ein frickin Chromosoms. Das Bild ist immer noch überwiegend weiß, die Etiketten sind unleserlich klein und die Struktur ist nur ein Schnörkel.

  • Durch Hinzufügen der Option ratio=1zum dotEingang werden lediglich 10000x40 bis 10000x10000 hinzugefügt.

2

1 Antwort auf die Frage

1
Camille Goudeseune

Da 10000/1920 auf 6 gerundet wird, teilen Sie die Eingabe in 6 Teile von links nach rechts auf und kleben Sie sie von oben nach unten zusammen. Verwenden Sie anstelle von 6 Zwischendateien ein Format, das mehrere Bilder enthält (tiff ist viel schneller als gif), und stdin und stdout.

convert in.png -crop 6x1@ +repage tiff:- | convert tiff:- -append out.png