OCR/HTR engine for all the languages
Project description
Description
kraken is a turn-key OCR system optimized for historical and non-Latin script material.
kraken’s main features are:
Fully trainable layout analysis, reading order, and character recognition
Right-to-Left, BiDi, and Top-to-Bottom script support
ALTO, PageXML, abbyyXML, and hOCR output
Word bounding boxes and character cuts
Multi-script recognition support
Public repository of model files
Variable recognition network architecture
Installation
Kraken can be run on Linux or Mac OS X (both x64 and ARM). Installation is through the on-board pip utility. To not pollute the global state of your distribution’s package manager it is recommended to use virtual environments. If you do not have a setup or do not wish to handle virtual environments yourself you can use pipx.
$ sudo apt install pipx
$ pipx install kraken
kraken works both on Linux and Mac OS X and with any python interpreter between 3.9 and 3.11. It is possible the installation fails because pipx defaults to an unsupported interpreter version. In that case you need to install a compatible interpreter version such as 3.11 and then specify this version explicitly:
$ sudo apt install python3.11-full
$ pipx install --python python3.11 kraken
Installation using pip
Create and activate a separate virtual environment using whatever tool you like.
$ pip install kraken
or by running pip in the git repository:
$ pip install .
If you want direct PDF and multi-image TIFF/JPEG2000 support it is necessary to install the pdf extras package for PyPi:
$ pip install kraken[pdf]
Finally you’ll have to scrounge up a model to do the actual recognition of characters. To download the default model for printed French text and place it in the kraken directory for the current user:
$ kraken get 10.5281/zenodo.10592716
A list of libre models available in the central repository can be retrieved by running:
$ kraken list
Quickstart
Recognizing text on an image using the default parameters including the prerequisite steps of binarization and page segmentation:
$ kraken -i image.tif image.txt binarize segment ocr
To binarize a single image using the nlbin algorithm:
$ kraken -i image.tif bw.png binarize
To segment an image (binarized or not) with the new baseline segmenter:
$ kraken -i image.tif lines.json segment -bl
To segment and OCR an image using the default model(s):
$ kraken -i image.tif image.txt segment -bl ocr -m catmus-print-fondue-large.mlmodel
All subcommands and options are documented. Use the help option to get more information.
Documentation
Have a look at the docs.
Funding
kraken is developed at the École Pratique des Hautes Études, Université PSL.
This project was funded in part by the European Union. (ERC, MiDRASH, project number 101071829).
This project was partially funded through the RESILIENCE project, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation.
Ce travail a bénéficié d’une aide de l’État gérée par l’Agence Nationale de la Recherche au titre du Programme d’Investissements d’Avenir portant la référence ANR-21-ESRE-0005 (Biblissima+).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kraken-6.0.3.tar.gz.
File metadata
- Download URL: kraken-6.0.3.tar.gz
- Upload date:
- Size: 12.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fd0b3bbe8e501e9d6124737adac9f7d7e1bfaee52daf577c0abe28b972556c4
|
|
| MD5 |
377fd2709ee1d61bc86a471a0ca5aef3
|
|
| BLAKE2b-256 |
e7b5e0477a3b5789c6fd73bf03dbd042a5e56f6d52c07d0a0a19d98e1d128ac6
|
Provenance
The following attestation bundles were made for kraken-6.0.3.tar.gz:
Publisher:
test.yml on mittagessen/kraken
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kraken-6.0.3.tar.gz -
Subject digest:
5fd0b3bbe8e501e9d6124737adac9f7d7e1bfaee52daf577c0abe28b972556c4 - Sigstore transparency entry: 763244919
- Sigstore integration time:
-
Permalink:
mittagessen/kraken@51f84c9a1a04932f828c49fa18be61404c9f7baf -
Branch / Tag:
refs/tags/6.0.3 - Owner: https://github.com/mittagessen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
test.yml@51f84c9a1a04932f828c49fa18be61404c9f7baf -
Trigger Event:
push
-
Statement type:
File details
Details for the file kraken-6.0.3-py3-none-any.whl.
File metadata
- Download URL: kraken-6.0.3-py3-none-any.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdb7a5d6527cd4d4979fd537f38f95d3c0ae260dbd776ae8b012ad86316a7be2
|
|
| MD5 |
1f3326ee69d4339b3589da42798c17b9
|
|
| BLAKE2b-256 |
72e9ca59de64192dd2c80a6e7175f142869651b31bd10fb8ae59cdf79fd518df
|
Provenance
The following attestation bundles were made for kraken-6.0.3-py3-none-any.whl:
Publisher:
test.yml on mittagessen/kraken
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kraken-6.0.3-py3-none-any.whl -
Subject digest:
cdb7a5d6527cd4d4979fd537f38f95d3c0ae260dbd776ae8b012ad86316a7be2 - Sigstore transparency entry: 763244921
- Sigstore integration time:
-
Permalink:
mittagessen/kraken@51f84c9a1a04932f828c49fa18be61404c9f7baf -
Branch / Tag:
refs/tags/6.0.3 - Owner: https://github.com/mittagessen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
test.yml@51f84c9a1a04932f828c49fa18be61404c9f7baf -
Trigger Event:
push
-
Statement type: