Wie kann ich gescannte Bilder mit Imagemagick oder Graphicsmagick automatisch zuschneiden?

11

Ich habe einige gescannte Bilder im * .jpg-Format. Sie werden mit einem A4-Scanner in Graustufen oder Farbe gescannt. Gescannte Seiten haben sehr unterschiedliche Abmessungen - einige A5, einige A6, einige Visitenkarten usw. Die Scannerabdeckung ist weiß.

Ich möchte alle weißen Ränder mit Imagemagick oder Graphicsmagick zuschneiden (diese Werkzeuge, weil ich sie weiter stapelweise verarbeiten möchte). Ich verstehe, dass der Rand gescannt wird, also nicht perfekt weiß, und dass manchmal zu viel oder zu wenig Bild zugeschnitten werden kann. Wenn ich jedoch Trimmparameter mit Fuzz verwende, bekomme ich immer ein zu großes Bild. Beispiel: Verwenden Sie das Bild der Visitenkarte unten:

gm.exe convert -crop -fuzz 50% 01-pixelated.jpg 01-pixelated-gm.jpg

erzeugt ein Bild, das immer noch nicht von rechts und unten geschnitten wird. Das Ergebnis ist das gleiche, egal welche Zahl ich in den Parameter -fuzz eingefügt habe.

Könnten Sie es bitte testen und die Befehlszeile informieren, die die Arbeit erledigt?

Geben Sie hier die Bildbeschreibung ein

Arek
quelle
Möchten Sie bis zum Rand des Textes / Inhalts oder bis zum Rand des Blattes Papier schneiden, je nachdem, welche Größe es hat (A4, A5, A6)? In Ihrem Beispiel ist die untere Grenze der Karte überhaupt nicht sichtbar - ich weiß nicht, wie Sie sie voraussichtlich erkennen werden.
Willus
Ich möchte, dass es an die Ränder des Inhalts gekürzt wird.
Arek
2
askubuntu.com/questions/97695/… || stackoverflow.com/questions/14098965/…
Ciro Santilli 5 病毒 审查 审查 事件 法轮功

Antworten:

9

Versuchen Sie in ImageMagick diesen Befehl:

convert input.jpg -fuzz 80% -trim +repage output.jpg

Ich habe es mit ImageMagick 6.4.4 Q16 getestet und ausgehend von dem von Ihnen verknüpften Bild dieses Ausgabebild erhalten:

Ausgabe

Andrea
quelle
so offensichtlich, dass ich -trim mit -crop nicht übereinstimmte. Vielen Dank!
Arek