Tesseract OCR 技術ドキュメント
Tesseract OCRは、世界で最も支持されているオープンソースの光学文字認識(OCR)エンジンです。LSTMニューラルネットワークをベースとし、100以上の言語に対応しています。
Tesseract とは?
Tesseract は、画像のピクセルを検索可能な構造化テキストに変換するOCRエンジンです。1985年にヒューレット・パッカードで開発が始まり、現在はオープンソースコミュニティによって保守されています。LSTMニューラルネットワークにより100以上の言語に対応しています。
開発者ガイド
このリファレンスに加えて、Tesseract の開発タスクごとに、実証済みの完全なガイドを公開しています:
- インストールガイド — Windows、macOS、Linux、Docker、tessdata。
- Pythonガイド(pytesseract) — 画像からテキスト、PDF、信頼度、PSM/OEM。
- ライブラリとラッパー — Python、JS、C++、Java、Go、.NET。
- PDFガイド — PDFのOCR、検索可能PDF、OCRmyPDF、Python。
- 学習ガイド — tesstrain、正解データ、ファインチューニング。
- APIとサービスガイド — FastAPIとDockerによるセルフホストREST。
インストール
主要なオペレーティングシステム別のインストール手順です:
macOS (Homebrew)
brew install tesseract
brew install tesseract-lang # 全言語モデルを追加
Ubuntu / Debian
sudo apt update
sudo apt install tesseract-ocr tesseract-ocr-jpn tesseract-ocr-eng
Windows
winget install UB-Mannheim.TesseractOCR
# または Scoop:
scoop install tesseract
CLIクイックスタート
最も基本的なテキスト抽出コマンド:
# 画像から日本語テキストを抽出し stdout に出力
tesseract input.png stdout -l jpn
# テキストファイル (output.txt) として保存
tesseract scan.jpg output -l jpn+eng
# 検索可能なテキスト付きPDFを生成
tesseract document.tif output_searchable -l jpn pdf
ページ分割モード (PSM)
--psm <N> フラグでドキュメントのレイアウト解析方法を指定します:
| PSM | モード説明 | 適用例 |
|---|---|---|
0 |
向きとスクリプトの検出 (OSD) のみ | 画像の回転角度・言語判定 |
1 |
自動レイアウト解析 + OSD | 複雑な多言語文書スキャン |
3 |
完全自動レイアウト解析 (デフォルト) | 一般的なページ全体の文書 |
6 |
単一の均一なテキストブロック | 領収書、請求書、本の一節 |
7 |
単一のテキスト行 | ナンバープレート、ラベル |
8 |
単一の単語 | キャプチャ文字、ロゴ |
OCRエンジンモード (OEM)
OEM は、従来のパターンマッチング型エンジンと最新のLSTMニューラルネットワークを切り替える設定です。--oem フラグで指定します。
- 0: レガシーエンジンのみ(従来の画像解析)。
- 1: LSTMニューラルネットワークのみ(高速・高精度)。
- 2: レガシーとLSTMの組み合わせ。
- 3: 既定値。.traineddata モデルで利用可能なものを使用。
出力形式 (PDF, hOCR)
画像を検索可能な PDF に変換するには pdf 出力を使用します。単語ごとの座標が必要な場合は hOCR/TSV/ALTO を選びます。
# 検索可能な PDF
tesseract document.tif output pdf
# 座標データ (hOCR)
tesseract input.png out hocr
→ Tesseract OCR PDF 完全ガイド — 検索可能 PDF、OCRmyPDF、Python、トラブルシューティング。
Python統合 (pytesseract)
エンジンをインストールし、pip install pytesseract pillow を実行します。完全ガイドでは image_to_string、画像前処理、PDF、信頼度、PSM/OEM 設定、トラブルシューティングを解説しています。
Node.js & ブラウザ (tesseract.js)
tesseract.js は WebAssembly 経由でブラウザや Node で使えます。画像を認識し、PDF には対応しません。すべてのラッパーとトレードオフはライブラリのリファレンスをご覧ください。
独自モデルのファインチューニング (tesstrain)
Tesseract 5 は tesstrain プロジェクトで LSTM モデルを微調整・学習します。学習はバイナリインストーラーでは利用できません。ソースからのビルド(または WSL2)、make、正解データの生成、tesstrain リポジトリが必要です。
関連するドキュメントAI・ディープラーニングエンジン
Tesseract はテキスト抽出の定番ですが、最新の文書処理パイプラインでは専門的なエンジンと組み合わせることも多くあります。