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?
Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenmenge
Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme
convert aus imagemagick kann Bilder mittels Schwellwert in schwarze und weiße Pixel konvertieren.
Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme
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?
Aber eine Frage habe ich noch, nur schwarze und weiße, oder kann man die Zielfarbe frei definieren?
Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme
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
Hier mal ein Beispiel, um Farben auszutauschen:
https://superuser.com/questions/1286061 ... ound-color
Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme
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.
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.
Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme
Falsch, PNG ist dafür gedacht homogene gleichfarbige Flächen zu speichern und genau deswegen verwende ich es.DaCoda hat geschrieben:28.05.2023 12:49:12Was du vor hast ergibt für mich wenig Sinn. PNG ist nicht dafür gedacht um Fotos oder eingescannte Dokumente zu speichern.
Außerdem erlaubt es die Wiederbearbeitung und genau das brauche ich.
Nein, denn da sind keine Bilder.Selbst wenn du weiße Flächen 100% weiß bekommst bleibt immer noch der Textbereich und Bilder, die nicht homogen sind.
Die weiße Fläche kann sehr effektiv mit PNG gespeichert werden.
Falsch, Screenshots können Bilder enthalten und da ist auch nichts homogen. Screenshots von bspw. Spielen sind nie homogen.PNG ist z.B. zum Speichern von Screenshots ideal. Da dort viele Flächen 100% homogen sind.
Re: Suche CLI Programm um weiße Flächen von eingescannten Dokumenten zu einem weiß zu machen. Ziel Reduktion der Datenme
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 imagemagick Paket muss dazu installiert sein:
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:
Ich konnte damit jede Menge Speicherplatz einsparen.
gekommen:
Bei nur einer Datei geht das mit folgendem Befehl. Das imagemagick Paket muss dazu installiert sein:
Code: Alles auswählen
convert EINGABE.png -colorspace RGB -white-threshold 70% AUSGABE.png
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