Grundsätzlich kann man das Facsimile-Buch farbig, in Graustufen oder schwarzweiß erstellen. Der Speicherplatz nimmt in dieser Reihenfolge ab, der Zeitaufwand zur Erstellung in dieser Reihenfolge zu. Für farbige Facsimiles verwendet man fast immer verlustbefaftete JPG-Komprimierung, für schwarzweiße immer verlustfreie Komprimierung, und für Facsimiles in Graustufen kann man beides verwenden, je nach Einsatzfall.
Die Device-Adressen des angeschlossenen USB-Scanners kann man mit »scanimage -L« ermitteln (vgl. auch
»sane-find-scanner«). Sie sei im Beispiel hier: »snapscan:libusb:001:002«. Zum Scannen für jede Seite den folgenden Befehl ausführen. Der Dateiname wird automatisch um eine sequentielle Nummer erweitert.
#!/bin/bash
scanimage
--device-name=snapscan:libusb:001:001
--format=tiff
--resolution 300dpi
--mode Color
-t 0 -l 0 -x 210 -y 297
--batch=page.%03d.tif
--batch-prompt
--batch-start 1
--batch-count 5
;
for file in page.*.tif; do
convert -quality 70 $file ${file/.tif/.jpg};
convert ${file/.tif/.jpg} ${file/.tif/.pdf};
rm ${file/.tif/.tif} ${file/.tif/.jpg};
done;
pdftk page.*.pdf cat output book.pdf;
Alternativ, für nur eine Seite:
scanimage --device-name=snapscan:libusb:002:002 --format=tiff --resolution 300dpi --mode Color -t 0 -l 0 -x 210 -y 297 >page.tmp.tif; convert -quality 70 page.tmp.tif page.tmp.jpg; convert page.tmp.jpg page.pdf; rm page.tmp.*;
Und nun für verlustfreie Komprimierung:
scanimage
--device-name=snapscan:libusb:001:002
--format=tiff
--resolution 200dpi
--mode Gray
-t 0 -l 0 -x 210 -y 297
--batch=page.%03d.tif
--batch-prompt
--batch-start 1
--batch-count 8
;
Empfehlenswert sind bei Archivierung in Schwarzweiß meist 200dpi, bei Archivierung in Graustufen meist 150dpi.
Zum Herausfinden des besten Schwellwertes zur Umwandlung in Schwarzweißbilder:
file=bild.tif; for thr in 60 65 70 75 80 85 87 90; do convert -threshold $thr% -monochrome "$file" ${file/.tif/.test.thr$thr.tif}; done
Wenn das Bild gerasterte Graustufen enthält (und eigtl. auch sonst) dann kann man den richtigen threshold daran erkennen dass die Thumbnails des schwarz-weißen und des Graustufenbildes im GIMP-Dateidialog bzgl. der Helligkeit identisch aussehen.
Umwandlung in Schwarzweiß-Bilder nachdem man den idealen Schwellwert ausprobiert hat:
for file in page.[0-9]*.tif ; do convert -threshold 65% -monochrome $file ${file/.tif/.sw.png} ; done
Zusammenfassung zum Facsimile-Buch im PDF-Format:
convert page.*.sw.png buch.pdf
Oder auch zum Beispiel mit einem sinnvollen Seitenrand (wenn dieser nicht bereits vorhanden ist):
convert -page A4 -density 28x28 -border 100x100 -bordercolor white page.*.sw.png buch.pdf
Bei mehrseitigen, hoch aufgelösten Scans ist es besser die Bilder in einzelne PDF-Seiten zu konvertieren und
dann zusammenzufassen weil »convert« sonst zuviel RAM (für Buffers/Cache, nicht für die Anwendung selbst) braucht und den Computer überfordert:
for file in page.*.sw.png; do convert $file ${file/.png/.pdf}; done;
pdftk page.*.pdf cat output book.pdf;
Erklärung zu -page und -density entsprechend der Manpage zu convert: »-page« wird verwendet um ein Bild in einem anderen zu positionieren und bei PDF und PostScript um die Maße der PostScript-Seite anzugeben. »-page A4« ist äquivalent zu »-page 595×842«, d.i. das Bild wird zu einem Bild von 595×842 Pixeln skaliert und dann auf der PDF-Seite positioniert. So bewirkt »-page« auf jeden Fall die Übernahme des Seitenverhältnisses des gewählten Seitenformats.
Mit »-density« wird angegeben welche physischen Ausmaße das Bild bei der Positionierung hat. Unter der Annahme dass eine A4-Seite 595×842 Pixel groß ist (s.o.) muss hier 72 dpi angegeben werden (so in einem Experiment bestätigt wo angegeben werden musste »-density 71×71«). Warum in einem Fall »-density 28×28« anzugeben war ist unbekannt. Man beachte dass »-page« und »-density« das Bild physisch nicht verändern sondern nur Angaben zur Positionierung sind, aus Sicht des Monitors (daher die Auflösung 72 dpi). Die Anpassung der Seitenverhältnisse durch »-page« bewirkt ggf. eine Verzerrung. Die absoluten Maße des gewählten Seitenformats werden mit -page jedoch noch nicht erreicht, nur das korrekte Seitenverhältnis.
In einem weiteren Fall konnte die Option -density ganz ausgelassen werden. Die Bilder stammten aus der Konvertierung einer PDF-Datei mit convert -density 200×200; es waren TIF-Bilder mit 200 dpi Auflösung. Dieses Verfahren kann jedoch zu falschen absoluten Seitendimensionen führen.
convert -page A4 page.*.sw.tif buch.pdf
Die einfachste und beste Variante ist oft, auch noch die Option »-page« auszulassen. Dann das Seitenverhältnis des Bildes und die im Bild mitgespeicherte Bildauflösung verwendet (in Gimp einstellbar
über »Bild -> Druckgröße«) um eine entsprechende (korrekte) Seitengröße zu ermitteln. Dies ist besonders hilfreich wenn man Dinge eingescannt hat die kein Standard-Seitenformat haben und daraus ein korrekt dimensioniertes Facsimile machen möchte.
convert page.*.sw.png buch.pdf
Optimierungen:
- Bei Scannen mit scanimage auf Agfa Snapscan e52 positioniert man die Seite direkt an der oberen Anschlagskante aber 3 mm von der seitlichen Anschlagskante um mit dem Nullpunkt der Positionierung in scanimage übereinzustimmen.
- Wenn man keinen Einzugscanner besitzt ist es sehr effizient, mit einem Flachbettscanner bei offener Klappe zu scannen. Das ist vom Ergebnis her äquivalent (kaum unterschiedbar) zum Scannen mit schwarzem Hinterund, was sowieso vorteilhaft ist damit die Schrift der Rückseite nicht durchscheint. Durch schwarzen Hintergrund ergibt sich zwar auch ein verringerter Kontrast, aber das wird durch eine Umwandlung in Schwarzweiß (d.h. künstliche Kontrastmaximierung) ohnehin mehr als ausgeglichen, bleibt also ohne jeden Effekt.
- Wichtig ist ein Auflegen des Deckels lediglich um gewelltes Papier flach zu halten, denn hochstehende Kanten bewirken eine Abdunklung des Bildes an diesen Stellen.
- PNGs mit 8 oder 16 Graustufen verwenden.
- JPGs mit Graustufen verwenden wenn die Auflösung relativ zur Schriftgröße gering ist.
- Um schwarzweiß zu archivieren benötigt man eine deutlich höhere Auflösung wenn man (am Bildschirm) dieselbe sichtbare Qualität erreichen will wie bei Archivierung in Graustufen und Farbe: mind. 300 dpi.
- Gering aufgelöste Graustufenbilder sollte man am besten nicht in Schwarzweiß umwandeln. Kompakte Archivierung in Graustufen geht so: ausschlaggebend für die Dateigröße eines PNG-Bildes ist die Ordnung im Bild: je größer einheitliche Farbflächen sind, desto besser, je mehr einzelne Pixel in unterschiedlicher Farbe, desto schlechter. Über »Ebene -> Farben -> Werte -> Wert« in GIMP »komprimiere« man daher die Graustufen: möglichst viele verwandle man in schwarz (Schieber für schwarz nach rechts) und möglichst viele in weiß (Schieber für weiß nach links). Würden beide Schieber übereinander liegen hätte man in Schwarzweiß umgewandelt: das vermeidet man hier aber um Graustufen sozusagen für »Antialisaing« zu nutzen. Durch diese Schritte konnte ein PNG-Bild von 800kB auf 60kByte verkleinert werden. Anschließend wandelt man das Bild noch in ein indiziertes Bild mit 64 Farben um. So sank im Beispielfall die Größe nochmals um 25%. So etwas kann auch in convert gemacht werden (am Beispiel gescannten linierten Papiers): convert -level 32%,78% -colors 64 input.tif output.tif
- Zur Umwandlung in Schwarzweiß muss der Threshold niedriger liegen je kleiner die Schrift in einem Dokument, bei sonst gleichen Parametern. So ergibt sich ein dünneres Schriftbild, was bei kleiner Schrift notwendig ist damit Buchstabenhohlräume nicht gefüllt dargestellt werden, bei größerer Schrift manchmal aber hinderlich ist weil die Schrift dann weniger deutlich zu erkennen ist (aber nur manchmal – ein dünneres Schriftbild wirkt meist sauberer, d.h. ein möglichst niedriger Threshold (um 60%) ist beim Scannen gedruckter Dokumente zu empfehlen, bei handschriftlichen Dokumenten muss ein höherer Threshold gewählt werden um auch gering eingefärbte Buchstabenbereiche in schwarz zu konvertieren).
Leave a Reply