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


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

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


so offensichtlich, dass ich -trim mit -crop nicht übereinstimmte. Vielen Dank!
Arek
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.