ocropy(OCRopus)のインストール(Ubuntu 上)

ocropy(OCRopus) は,文書レイアウト解析光学文字認識(OCR)のためのプログラム群である.行単位の認識に LSTM を用いる.

ocropy のリポジトリは 2026 年 4 月にアーカイブ(読み取り専用)化され,開発は終了している.ocropy は Python 2.7 専用であり,Python 2 系のパッケージ(python-scipy,python-matplotlib など)が提供されない現在の Ubuntu では,そのままではインストールできない.

この Web ページで行うこと

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

Python と関連ツールのインストール

インストールするには, 端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install python3 python3-pip python3-venv git curl

kraken のインストール(ocropy の後継)

kraken は ocropy から分岐(フォーク)して開発が続けられている OCR システムである.行単位のレイアウト解析と文字認識を行い,学習済みモデルの取得・追加学習の機能を持つ.対応する Python は 3.10 から 3.13 である.

kraken は pip でインストールする.システムの Python 環境を変更しないよう,仮想環境を作成してインストールする. 端末で,次のコマンドを実行する.

python3 -m venv ~/kraken-env
source ~/kraken-env/bin/activate
pip install --upgrade pip
pip install kraken
kraken --version

仮想環境を使うときは,端末を開くたびに次のコマンドを実行する.

source ~/kraken-env/bin/activate

学習済みモデルの取得

kraken の文字認識には学習済みモデルが必要である.公開されているモデルの一覧表示と取得は,次のコマンドで行う.kraken get の引数には,一覧に表示された DOI を指定する.

kraken list
kraken get <モデルの DOI>

動作確認

サンプル画像に対して,行のレイアウト解析(segment)と文字認識(ocr)を実行する.「sample.png」の部分は画像ファイル名に,「model.mlmodel」の部分は取得したモデルのファイル名に書き換えて使う.

kraken -i sample.png output.txt segment -bl ocr -m model.mlmodel
cat output.txt

参考:ocropy のソースコードの入手

ocropy のソースコードはアーカイブされたリポジトリから入手できる.前述のとおり Python 2.7 専用であり,現在の Ubuntu では実行環境を用意できないため,コードの参照用である.

cd /tmp
git clone --recursive https://github.com/ocropus-archive/DUP-ocropy

ocropy が想定する入力画像は,300dpi の白地に黒文字の 2 値画像である.