Gerber, Mike
41a48455f8
Explicitly check for None to remove this warning: test/test_recognize.py::test_word_segmentation /home/mike/devel/ocrd_calamari/test/test_recognize.py:133: FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead. assert line |
4 years ago | |
---|---|---|
.circleci | 4 years ago | |
.idea | 5 years ago | |
ocrd_calamari | 4 years ago | |
test | 4 years ago | |
.coveragerc | 5 years ago | |
.gitignore | 4 years ago | |
Dockerfile | 5 years ago | |
LICENSE | 5 years ago | |
Makefile | 4 years ago | |
README-DEV.md | 4 years ago | |
README.md | 4 years ago | |
ocrd-tool.json | 6 years ago | |
requirements-test.txt | 5 years ago | |
requirements.txt | 4 years ago | |
setup.py | 4 years ago |
README.md
ocrd_calamari
Recognize text using Calamari OCR.
Introduction
ocrd_calamari offers a OCR-D compliant workspace processor for the functionality of Calamari OCR. It uses OCR-D workspaces (METS) with PAGE XML documents as input and output.
This processor only operates on the text line level and so needs a line segmentation (and by extension a binarized image) as its input.
In addition to the line text it may also output word and glyph segmentation
including per-glyph confidence values and per-glyph alternative predictions as
provided by the Calamari OCR engine, using a textequiv_level
of word
or
glyph
. Note that while Calamari does not provide word segmentation, this
processor produces word segmentation inferred from text
segmentation and the glyph positions. The provided glyph and word segmentation
can be used for text extraction and highlighting, but is probably not useful for
further image-based processing.
Installation
From PyPI
pip install ocrd_calamari
From Repo
pip install .
Install models
Download models trained on GT4HistOCR data:
make gt4histocr-calamari1
ls gt4histocr-calamari1
Manual download: model.tar.xz
Example Usage
Before using ocrd-calamari-recognize
get some example data and model, and
prepare the document for OCR:
# Download model and example data
make gt4histocr-calamari1
make actevedef_718448162
# Create binarized images and line segmentation using other OCR-D projects
cd actevedef_718448162
ocrd-olena-binarize -P impl sauvola-ms-split -I OCR-D-IMG -O OCR-D-IMG-BIN
ocrd-tesserocr-segment-region -I OCR-D-IMG-BIN -O OCR-D-SEG-REGION
ocrd-tesserocr-segment-line -I OCR-D-SEG-REGION -O OCR-D-SEG-LINE
Finally recognize the text using ocrd_calamari and the downloaded model:
ocrd-calamari-recognize -P checkpoint "../gt4histocr-calamari1/*.ckpt.json" -I OCR-D-SEG-LINE -O OCR-D-OCR-CALAMARI
or
ocrd-calamari-recognize -P checkpoint_dir "../gt4histocr-calamari1" -I OCR-D-SEG-LINE -O OCR-D-OCR-CALAMARI
You may want to have a look at the ocrd-tool.json descriptions for additional parameters and default values.
Development & Testing
For information regarding development and testing, please see README-DEV.md.