Kann ich voll und ganz zustimmen. Benutze immer XSane zum Scannen und wusste nicht das es das hier gibt. scanimage --device=epson:/dev/sg1 --batch=out%d.pnm --batch-start=11 --wait-for-button --resolution=180
Ich wusste nicht mal das der Button unter Linux überhaupt funktioniert :) Hab es probiert und es geht einwandfrei. Ab in die Werkzeugkiste. Noch nie gebraucht aber man weiß ja nie. Einmal im Jahr was scannen mit XSane da braucht man ja keine Manuals. Danke das es auch Leute gibt die so etwas mal publizieren.
Von Papa Schlumpf am Mo, 11. April 2005 um 01:04 #
Das kann die bash native, da brauchts kein sed.
for pnm in *.pnm; do tiff=${pnm/.pnm/.tiff}; pnmrotate $tiff; done
Abgesehen davon, warum nicht gleich imagemagick's convert benützen?
for pnm in *.pnm; do convert -rotate 90 -compress $pnm ${pnm/.pnm/.tiff}; done
Weiters würd ich vorschlagen, scanimage mit --batch=out%02d.pnm auszuprobieren, ich denke dann wäre der Umweg über --batch-start=11 nicht notwendig. Bei Dokumenten mit mehr als 100 Seiten ist dann analog %03d oder gleich %04d zu verwenden (Mehr als 10000 Seiten scannt eh niemand freiwillig einzeln)
Ansonsten eine wirklich brauchbare Idee, die man übernehmen kann.
Wenn Du nicht diesen tollen Namen gewählt hättest "Papa Schlumpf" hätte ich Deinen Beirtag ernst genommen. So aber lege ich dich übers Knie und versohle Dir Deinen weißen, pickligen Hintern. Denn mit "Papa Schlumpf" wirkt es mal wieder nach einem hilfreichen Beitrag von jemanden der sich schlauer denkt, aber faul ist.
Wäre es Dir wirklich ums Thema gegangen, hättest Du eine Mail an Jochen Römling geschrieben. Und wärst jetzt beschäftigt mit ihm zu diskutieren. Und evtl. wäre der Artikel noch besser geworden. Solches Handeln verstehe ich einfach nicht.
Denkt eigentlich niemand daran, wie viel Arbeit es ist sein Wissen zu einem Artikel zu formulieren?
Von Papa Schlumpf am Mo, 11. April 2005 um 08:21 #
Entschuldige bitte, aber gibt es einen Grund sich so aufzuregen?
Ich benütze diesen Nic schon seit Ewigkeiten, und wenn du meinst daß "MAMA" ernstzunehmender ist, na dann bitte.
Ich hab hier lediglich einen kleinen Verbesserungsvorschlag eingebracht, der möglicherweise auch für manche interessant ist. Vielleicht wissen ja nicht alle, wie man in der Bash ohne sed zu quälen ein automatisiertes umbenennen von Extensions bewerkstelligt.
Von Jochen Römling am Mo, 11. April 2005 um 11:01 #
Danke für die Kritik. Das ist ja wirklich einfacher so. Bei "pnm" hatte ich sofort an NetPBM gedacht und ImageMagick irgendwie verdrängt. Und diese Bash-Magic habe ich auch noch nicht so drauf, ich bin froh, wenn ich das mit sed hinbekomme Das mit dem %02d ist natürlich genial, das wusste ich nicht, dass da alle sprintf-Kommandos funktionieren.
Aber auch das ist gerade das schöne an Linux: Man lernt jeden Tag was dazu.
Super Artikel, danke! Wie recht du doch hast, ich hab dadurch schon wieder vieles Neues gelernt,
Noch ein kleiner Tipp von mir: Verwende zum Drehen von PNMs um 90°-Vielfache lieber "pnmflip", das verwendet einen viel schnelleren Algorithmus und erzeugt auch keine Rundungsfehler (weil es einfach die Adressierung der Pixel umdreht anstatt Koordinaten im gedrehten Bild und Pixel-Mittelwerte auszurechnen).
Dem kann ich mich nur anschließen! Allerdings macht das eine Frage drängend für mich: Mit welcher Auflösung muss ich scannen, um gescannten Text druckbar zu halten, z.B. für einen 300 DPI-Drucker? Kennt zufällig jemand eine (möglichst kurze) Anleitung dazu?
...erzeugt dieses Skript leider unnötig große PDFs. Leider ist Texterkennung unter Linux noch immer im Entwicklungsstadium, auch wenn Tools wie gocr, ocre, ocrad, xplab und clara-ocr schon für sich genommen großartige Anstrengungen darstellen, aber immer noch lange nicht an kommerzielle Ansätze reichen.
Die Erkennungsmethodik dieser Programme ist unterschiedlich, aber bereits ziemlich ausgereift. Woran es fehlt, ist Zoning, Fonterkennung, (statistischer) Wörterbuchabgleich, automatische Optimierung und andere kleine Tricks, mit denen die kommerziellen Programme bei derlei Aufgaben glänzen. Eine direkte Anbindung bspw. an xsane wäre da noch das kleinste Problem.
Aber Scannen unter Linux war vor ein paar Jahren auch noch ein schwieriges Unterfangen. Warten wir einfach ein paar Jährchen...
Von Jochen Römling am Mo, 11. April 2005 um 18:13 #
Ich gebe Dir natürlich grundsätzlich Recht. Allerdings funktioniert automatische Texterkennung ohne Nachbearbeitung praktisch nie (obwohl ich zugeben muss, es unter Linux noch nie probiert zu haben).
Wenn Du Dir allerdings mal unter http://www.last-contact.de im Downloadbereich unter "Maulwurf" die Heftchen anschaust, dann wirst Du merken, dass da mit OCR überhaupt nicht beizukommen ist. Zu schlecht ist die Qualität schon der Vorlage (zigmal durch den Kopierer gejagt, bis das "Layout" endgültig war etc.) und zu unterschiedlich sind die Schriftarten bis hin zu handschriftlichen Kommentaren.
Außerdem finde ich 3,5 MB für ein PDF mit 28 Seiten nicht sooooo schlimm. Da sind manche Marketingbroschüren größer. Die ersten beiden Ausgaben von 1988 darfst Du nicht mitzählen, die haben 20 MB, weil das graue Umweltschutzpapier ewig Datensalat erzeugt hat. Den Aufwand, das über Kontrasteinstellungen so zu kalibrieren, dass der graue Hintergrund weiß ist, war es mir nicht wert.
Wenn man natürlich ein "echtes" Buch mit sauberer Schrift und nur Text einscanned, sollte man danach OCR drüberlaufen lassen, das ist sonnenklar.
scanimage ist ein Frontend für die verschiedenen SANE Backends (Scannertreiber). Die --wait-for-button Option wird vom Backend zur verfügung gestellt.
Was dein Backend kann, erfährst du mit 'scanimage --help -d DEVICE', wobei DEVICE sich aus Backendname und device file zusammensetzt, also z.B. 'hp:/dev/scanner'. Unter 'Options specific to device `DEVICE':' findet man dann die Backendfunktionen.
Ich finde den kompletten Beitrag sehr hilfreich und auch die vorgeschlagenen Verbesserungen klingen gut. Nur den Teil die SED-Befehle gegen Batch-Befehle auszutauschen sind etwas ungenau (zumindest für mich als "Anfänger"). Wie wäre es mit einer "bereinigten" Batchdatei... (wenn sich jemand die Mühe machen will, wäre ich dankbar, da ich noch nicht so ganz die SED-Befehle verstehe.)
Benutze immer XSane zum Scannen und wusste nicht das es das hier gibt.
scanimage --device=epson:/dev/sg1 --batch=out%d.pnm --batch-start=11 --wait-for-button --resolution=180
Ich wusste nicht mal das der Button unter Linux überhaupt funktioniert :)
Hab es probiert und es geht einwandfrei. Ab in die Werkzeugkiste. Noch nie gebraucht aber man weiß ja nie.
Einmal im Jahr was scannen mit XSane da braucht man ja keine Manuals.
Danke das es auch Leute gibt die so etwas mal publizieren.
Sehr gut und Danke.
for pnm in *.pnm; do tiff=${pnm/.pnm/.tiff}; pnmrotate $tiff; done
Abgesehen davon, warum nicht gleich imagemagick's convert benützen?
for pnm in *.pnm; do convert -rotate 90 -compress $pnm ${pnm/.pnm/.tiff}; done
Weiters würd ich vorschlagen, scanimage mit --batch=out%02d.pnm auszuprobieren, ich denke dann wäre der Umweg über --batch-start=11 nicht notwendig. Bei Dokumenten mit mehr als 100 Seiten ist dann analog %03d oder gleich %04d zu verwenden (Mehr als 10000 Seiten scannt eh niemand freiwillig einzeln)
Ansonsten eine wirklich brauchbare Idee, die man übernehmen kann.
Wäre es Dir wirklich ums Thema gegangen, hättest Du eine Mail an Jochen Römling geschrieben. Und wärst jetzt beschäftigt mit ihm zu diskutieren. Und evtl. wäre der Artikel noch besser geworden. Solches Handeln verstehe ich einfach nicht.
Denkt eigentlich niemand daran, wie viel Arbeit es ist sein Wissen zu einem Artikel zu formulieren?
Böser Papa Schlumpf
Aber DANKE an Jochen für diese Anleitung!
Ich benütze diesen Nic schon seit Ewigkeiten, und wenn du meinst daß "MAMA" ernstzunehmender ist, na dann bitte.
Ich hab hier lediglich einen kleinen Verbesserungsvorschlag eingebracht, der möglicherweise auch für manche interessant ist. Vielleicht wissen ja nicht alle, wie man in der Bash ohne sed zu quälen ein automatisiertes umbenennen von Extensions bewerkstelligt.
Das schaffen die wohl im wirklichen Leben nicht bzw nie.
Aber auch das ist gerade das schöne an Linux: Man lernt jeden Tag was dazu.
Super Artikel, danke! Wie recht du doch hast, ich hab dadurch schon wieder vieles Neues gelernt,
Noch ein kleiner Tipp von mir: Verwende zum Drehen von PNMs um 90°-Vielfache lieber "pnmflip", das verwendet einen viel schnelleren Algorithmus und erzeugt auch keine Rundungsfehler (weil es einfach die Adressierung der Pixel umdreht anstatt Koordinaten im gedrehten Bild und Pixel-Mittelwerte auszurechnen).
Bye
Hansi
Im Originalskript ist auch das document.tif im tiff2pdf zu weit nach vorne gerutscht. Es gehört ans Befehlsende.
Und zuletzt, wer die Formatierung des Originalskripts beibehalten will, sollte die Backslashes nicht vergessen.
Alles in Allem ein sehr praktisches Skript! Ich benutze es gerade, um diverse Dokumente zu archivieren.
Allerdings macht das eine Frage drängend für mich: Mit welcher Auflösung muss ich scannen, um gescannten Text druckbar zu halten, z.B. für einen 300 DPI-Drucker?
Kennt zufällig jemand eine (möglichst kurze) Anleitung dazu?
http://www.djvuzone.org
Die Erkennungsmethodik dieser Programme ist unterschiedlich, aber bereits ziemlich ausgereift. Woran es fehlt, ist Zoning, Fonterkennung, (statistischer) Wörterbuchabgleich, automatische Optimierung und andere kleine Tricks, mit denen die kommerziellen Programme bei derlei Aufgaben glänzen. Eine direkte Anbindung bspw. an xsane wäre da noch das kleinste Problem.
Aber Scannen unter Linux war vor ein paar Jahren auch noch ein schwieriges Unterfangen. Warten wir einfach ein paar Jährchen...
Alex
Wenn Du Dir allerdings mal unter http://www.last-contact.de im Downloadbereich unter "Maulwurf" die Heftchen anschaust, dann wirst Du merken, dass da mit OCR überhaupt nicht beizukommen ist. Zu schlecht ist die Qualität schon der Vorlage (zigmal durch den Kopierer gejagt, bis das "Layout" endgültig war etc.) und zu unterschiedlich sind die Schriftarten bis hin zu handschriftlichen Kommentaren.
Außerdem finde ich 3,5 MB für ein PDF mit 28 Seiten nicht sooooo schlimm. Da sind manche Marketingbroschüren größer. Die ersten beiden Ausgaben von 1988 darfst Du nicht mitzählen, die haben 20 MB, weil das graue Umweltschutzpapier ewig Datensalat erzeugt hat. Den Aufwand, das über Kontrasteinstellungen so zu kalibrieren, dass der graue Hintergrund weiß ist, war es mir nicht wert.
Wenn man natürlich ein "echtes" Buch mit sauberer Schrift und nur Text einscanned, sollte man danach OCR drüberlaufen lassen, das ist sonnenklar.
Wieder eine Sache weniger, weswegen ich Windows booten muss .
lg
Erik
Was dein Backend kann, erfährst du mit 'scanimage --help -d DEVICE', wobei DEVICE sich aus Backendname und device file zusammensetzt, also z.B. 'hp:/dev/scanner'.
Unter 'Options specific to device `DEVICE':' findet man dann die Backendfunktionen.
Ich finde den kompletten Beitrag sehr hilfreich und auch die vorgeschlagenen Verbesserungen klingen gut.
Nur den Teil die SED-Befehle gegen Batch-Befehle auszutauschen sind etwas ungenau (zumindest für mich als "Anfänger").
Wie wäre es mit einer "bereinigten" Batchdatei... (wenn sich jemand die Mühe machen will, wäre ich dankbar, da ich noch nicht so ganz die SED-Befehle verstehe.)
Gruß
Dirk