Benutzer:DelphiN/OCR: Unterschied zwischen den Versionen

 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Ich sammle hier meine Erkenntnisse zur automatischen Schrifterkennung (OCR). ''(Diese Sammlung ist völlig unvollständig und sollte nur mit vorsicht genutzt werden!)''
Ich sammle hier meine Erkenntnisse zur automatischen Schrifterkennung (OCR). ''(Diese Sammlung ist völlig unvollständig und sollte nur mit vorsicht genutzt werden!)''


== Tools ==
== Links ==


* https://ocrmypdf.readthedocs.io/en/latest/cookbook.html#redo-existing-ocr
* https://ocrmypdf.readthedocs.io/en/latest/cookbook.html#redo-existing-ocr
Zeile 7: Zeile 7:
* https://github.com/tsmdt/docs4training-ocr/blob/main/Training-mit-Tesseract.md
* https://github.com/tsmdt/docs4training-ocr/blob/main/Training-mit-Tesseract.md
* https://opensource.archium.org/index.php/OCR-Workflow
* https://opensource.archium.org/index.php/OCR-Workflow
* https://www.vermessungs-bibliothek.de/buch-pdfs-mit-fraktur-ocr/
== Tools ==


=== [https://tesseract-ocr.github.io/ Tesseract] ===
=== [https://tesseract-ocr.github.io/ Tesseract] ===
Zeile 34: Zeile 37:
   sudo wget https://github.com/tesseract-ocr/tessdata/raw/refs/heads/main/deu_frak.traineddata
   sudo wget https://github.com/tesseract-ocr/tessdata/raw/refs/heads/main/deu_frak.traineddata
   sudo wget https://github.com/tesseract-ocr/tessdata/raw/refs/heads/main/deu_latf.traineddata
   sudo wget https://github.com/tesseract-ocr/tessdata/raw/refs/heads/main/deu_latf.traineddata
  sudo wget https://ub-backup.bib.uni-mannheim.de/\~stweil/ocrd-train/data/Fraktur_5000000/Fraktur_5000000_0.466.traineddata
  sudo wget https://ub-backup.bib.uni-mannheim.de/~stweil/ocrd-train/data/Fraktur_5000000/tessdata_best/Fraktur_50000000.334_450937.traineddata
   tesseract --list-langs
   tesseract --list-langs
==== Tests ====
Um eine Sprache zu finden die mit der deutschen Frakturschrift klar kommt habe ich folgenden Aufruf verwendet, der einen txt output erzeugt, den man gut vergleichen kann:
  tesseract -l deu+deu_frak Scan_007.tif Scan_007.deu+deu_frak
Getestet hab ich folgende Sprachen und Kombinationen:
* deu+deu_frak
* deu+deu_latf
* deu_frak
* deu_frak+deu
* deu_frak+Fraktur
* deu_frak+Fraktur+deu
* deu+Fraktur
* deu+Fraktur_5000000_0.466
* deu+Fraktur_50000000.334_450937
* Fraktur1+deu
Die Ergebnisse waren leider ernüchterd. Beste Ergebnisse hatte ich mit '''deu_frak''', doch auch hier wurde alle "s" als "f" erkannt.


=== [https://github.com/ocrmypdf/OCRmyPDF OCRmyPDF] ===
=== [https://github.com/ocrmypdf/OCRmyPDF OCRmyPDF] ===

Aktuelle Version vom 18. Januar 2026, 15:19 Uhr

Ich sammle hier meine Erkenntnisse zur automatischen Schrifterkennung (OCR). (Diese Sammlung ist völlig unvollständig und sollte nur mit vorsicht genutzt werden!)

Links

Tools

Tesseract

Als erstes müssen wir sicherstellen tesseract ist installiert:

 sudo apt-get install tesseract-ocr jbig2

Wir müssen noch mindestens die Sprache Deutsch nachinstallieren:

 sudo apt search tesseract- lang | grep deu
 sudo apt-get install tesseract-ocr-deu

Unterstützung für Frakturschrift installieren:

 sudo apt search tesseract- script | grep frak
 sudo apt-get install tesseract-ocr-script-frak

Ich hatte Probleme einzelne Sprachen und Schriften nachzuinstallieren und hab deshalb tesseract-ocr-all installiert:

 sudo apt-get install tesseract-ocr-all

Außerdem hab ich noch zusätzliche unterstützdende Daten nachinstalliert:

 cd /usr/share/tesseract-ocr/5/tessdata
 sudo wget https://github.com/tesseract-ocr/tessdata_best/raw/refs/heads/main/script/Fraktur.traineddata
 sudo wget https://github.com/tesseract-ocr/tessdata/raw/refs/heads/main/deu_frak.traineddata
 sudo wget https://github.com/tesseract-ocr/tessdata/raw/refs/heads/main/deu_latf.traineddata
 sudo wget https://ub-backup.bib.uni-mannheim.de/\~stweil/ocrd-train/data/Fraktur_5000000/Fraktur_5000000_0.466.traineddata
 sudo wget https://ub-backup.bib.uni-mannheim.de/~stweil/ocrd-train/data/Fraktur_5000000/tessdata_best/Fraktur_50000000.334_450937.traineddata
 tesseract --list-langs

Tests

Um eine Sprache zu finden die mit der deutschen Frakturschrift klar kommt habe ich folgenden Aufruf verwendet, der einen txt output erzeugt, den man gut vergleichen kann:

 tesseract -l deu+deu_frak Scan_007.tif Scan_007.deu+deu_frak

Getestet hab ich folgende Sprachen und Kombinationen:

  • deu+deu_frak
  • deu+deu_latf
  • deu_frak
  • deu_frak+deu
  • deu_frak+Fraktur
  • deu_frak+Fraktur+deu
  • deu+Fraktur
  • deu+Fraktur_5000000_0.466
  • deu+Fraktur_50000000.334_450937
  • Fraktur1+deu

Die Ergebnisse waren leider ernüchterd. Beste Ergebnisse hatte ich mit deu_frak, doch auch hier wurde alle "s" als "f" erkannt.

OCRmyPDF

Gute Anleitung: https://ub-mannheim.github.io/Tesseract_Dokumentation/OCRmyPDF_Windows_und_Linux.html

Wenn tesseract installiert ist können wir versuchen PDFs zu transkribieren;

 ocrmypdf --output-type pdf --redo-ocr -l deu+deu_frak Dokument-images.pdf Dokument-deu_frak.pdf
 ocrmypdf --redo-ocr -l deu+deu_frak+deu_latf Dokument-images.pdf Dokument-deu_frak.pdf

Die erbebnisse mit ocrmypdf und tesseract waren für Frakturschrift sehr schlecht und quasi unbrauchbar :-(

https://github.com/JaidedAI/EasyOCR (uses www.jaided.ai)

Einfache Tests mit jaided.ai waren sehr schlecht. Nicht zu gebrauchen für deutsche Frakturschrit.

https://pero-ocr.fit.vutbr.cz

Die Ergebnisse vom Project PERO OCR sind ziemlich beeindruckend. Leider ist beim Mehr-Spalten Layout recht viel Handarbeit nötig. Für Dokumente hilfreich, für ganze Bücher scheinbar nicht ideal!


tools.pdf24.org

https://tools.pdf24.org/en/ocr-pdf#s=1768668637502

Ergebnis schlecht.