Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenmenge

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenmenge

Beitrag von Cordess » 24.05.2023 20:21:15

Ich habe hier ein paar > 100 Seiten eingescannt und mich darüber gewundert, warum die Dateien bei so viel weißer Fläche trotz verlustfreier Kompression im PNG Format so viel Platz brauchen und bin dann auch schnell auf die Ursache gestoßen..

Die scheinbar weiße Fläche ist nicht homogen weiß, sondern jedes Pixel hat ein geringfügiges anderes weiß, als die Nachbarpixel.
Das treibt die Datenmenge natürlich enorm nach oben. Der Scanner war zu empfindlich eingestellt.

Natürlich könnte ich jetzt Gimp nehmen und mit dem Lasso die weißen Flächen nach der Definition eines Weißbereichs alle homogen mit nur einer weißen Farbe einfärben, aber bei über 100 Dateien ist das viel zu viel Arbeit.
Deswegen suche ich jetzt eine Lösung, mit der man das Einfärben aller PNG Bilddateien per Kommandozeile automatisiert in einem Rutsch machen kann.

Ich vermute mal, imagemagic müsste so etwas können, allerdings kenne ich mich mit dem Programm kaum aus. Wie lauten die CMD Parameter um so einen Weißbereich zu definieren, um dann den definierten Bereich (Range) mit einem Weißton einzufärben?

Benutzeravatar
MSfree
Beiträge: 10741
Registriert: 25.09.2007 19:59:30

Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme

Beitrag von MSfree » 24.05.2023 20:29:07

convert aus Debianimagemagick kann Bilder mittels Schwellwert in schwarze und weiße Pixel konvertieren.

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme

Beitrag von Cordess » 24.05.2023 20:44:21

Danke,das werde ich mir mal ansehen.

Aber eine Frage habe ich noch, nur schwarze und weiße, oder kann man die Zielfarbe frei definieren?

Benutzeravatar
MSfree
Beiträge: 10741
Registriert: 25.09.2007 19:59:30

Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme

Beitrag von MSfree » 24.05.2023 21:14:45

convert ist wie ein schweizer Taschenmeser. Alleine die Liste der Kommandozeilenparameter ist schon ewig lang. Ich nehme immer eine Internetsuche, wenn ich ein bestimtmes Problem mit convert lösen will. Es gibt im Internet eine überwältigende Anzahl an Beispielen.

Hier mal ein Beispiel, um Farben auszutauschen:
https://superuser.com/questions/1286061 ... ound-color

DaCoda
Beiträge: 172
Registriert: 09.07.2019 21:58:10

Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme

Beitrag von DaCoda » 28.05.2023 12:49:12

Was du vor hast ergibt für mich wenig Sinn. PNG ist nicht dafür gedacht um Fotos oder eingescannte Dokumente zu speichern.

Selbst wenn du weiße Flächen 100% weiß bekommst bleibt immer noch der Textbereich und Bilder, die nicht homogen sind.

PNG ist z.B. zum Speichern von Screenshots ideal. Da dort viele Flächen 100% homogen sind.

Speichere deine Scans lieber in JPG in Qualität 95 oder so. Dann ist dein Problem wahrscheinlich gelöst.

Eventuell auch die Auflösung verringern, falls zu groß eingescannt.

JPG ist natürlich alte Schule. Wenn du weiter gehen willst kannst du auch JPEG XL, HEIF, AVIF oder WebP versuchen.

Das Umwandeln geht mit dem Befehl convert.

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme

Beitrag von Cordess » 28.05.2023 15:50:39

DaCoda hat geschrieben: ↑ zum Beitrag ↑
28.05.2023 12:49:12
Was du vor hast ergibt für mich wenig Sinn. PNG ist nicht dafür gedacht um Fotos oder eingescannte Dokumente zu speichern.
Falsch, PNG ist dafür gedacht homogene gleichfarbige Flächen zu speichern und genau deswegen verwende ich es.
Außerdem erlaubt es die Wiederbearbeitung und genau das brauche ich.
Selbst wenn du weiße Flächen 100% weiß bekommst bleibt immer noch der Textbereich und Bilder, die nicht homogen sind.
Nein, denn da sind keine Bilder.
Die weiße Fläche kann sehr effektiv mit PNG gespeichert werden.
PNG ist z.B. zum Speichern von Screenshots ideal. Da dort viele Flächen 100% homogen sind.
Falsch, Screenshots können Bilder enthalten und da ist auch nichts homogen. Screenshots von bspw. Spielen sind nie homogen.

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme

Beitrag von Cordess » 08.09.2023 07:05:25

Ich bin jetzt heute endlich dazu gekommen, mich mit der Thematik näher zu beschäftigen und bin zu folgender Lösung
gekommen:

Bei nur einer Datei geht das mit folgendem Befehl. Das Debianimagemagick Paket muss dazu installiert sein:

Code: Alles auswählen

convert EINGABE.png -colorspace RGB -white-threshold 70% AUSGABE.png
Mit dem Parameter -white-threshold 70% wird ein Schwellwert für die Weisswerte verwendet und für alle Pixel, die diesen Wert überschreiten wird der Pixel dann zu einem reinen weißen Pixel umgefärbt, so dass bei einer größeren Fläche diese Fläche homogen weiß wird.

Für mehrere Dateien kann man folgenden Befehl verwenden um alle Dateien in einem Rutsch zu bearbeiten.
Warnung: Die Eingabedatei wird in diesem Fall mit der Ausgabedatei überschrieben wird, wer das anders haben will, sollte diesen Befehl anpassen:

Code: Alles auswählen

for FILE in *.png; do convert $FILE -colorspace RGB -white-threshold 70% $FILE ; done
Ich konnte damit jede Menge Speicherplatz einsparen.

Antworten