メインコンテンツへスキップ

Tesseract OCR 技術ドキュメント

Tesseract OCRは、世界で最も支持されているオープンソースの光学文字認識(OCR)エンジンです。LSTMニューラルネットワークをベースとし、100以上の言語に対応しています。

最新バージョン: 本ドキュメントは、LSTMディープラーニングモデルを標準搭載した Tesseract 5.5 に準拠しています。

Tesseract とは?

Tesseract は、画像のピクセルを検索可能な構造化テキストに変換するOCRエンジンです。1985年にヒューレット・パッカードで開発が始まり、現在はオープンソースコミュニティによって保守されています。LSTMニューラルネットワークにより100以上の言語に対応しています。

開発者ガイド

このリファレンスに加えて、Tesseract の開発タスクごとに、実証済みの完全なガイドを公開しています:

インストール

主要なオペレーティングシステム別のインストール手順です:

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 フラグで指定します。

ポイント: Tesseract 5 では OEM 1(LSTM) が既定で、最も高い精度が得られます。OEM 0(レガシー) は特定の古いフォントなど、限られた用途でのみ推奨されます。
  • 0: レガシーエンジンのみ(従来の画像解析)。
  • 1: LSTMニューラルネットワークのみ(高速・高精度)。
  • 2: レガシーとLSTMの組み合わせ。
  • 3: 既定値。.traineddata モデルで利用可能なものを使用。
互換性: すべての言語データがレガシーエンジン(OEM 0)に対応しているわけではありません。「fast」モデルにはLSTMのデータ(OEM 1)のみが含まれます。

出力形式 (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 設定、トラブルシューティングを解説しています。

→ Python 完全ガイド

Node.js & ブラウザ (tesseract.js)

tesseract.js は WebAssembly 経由でブラウザや Node で使えます。画像を認識し、PDF には対応しません。すべてのラッパーとトレードオフはライブラリのリファレンスをご覧ください。

→ Tesseract OCR のライブラリとラッパー

独自モデルのファインチューニング (tesstrain)

Tesseract 5 は tesstrain プロジェクトで LSTM モデルを微調整・学習します。学習はバイナリインストーラーでは利用できません。ソースからのビルド(または WSL2)、make、正解データの生成、tesstrain リポジトリが必要です。

→ Tesseract 学習の完全ガイド(tesstrain、ファインチューニング、デプロイ)

関連するドキュメントAI・ディープラーニングエンジン

Tesseract はテキスト抽出の定番ですが、最新の文書処理パイプラインでは専門的なエンジンと組み合わせることも多くあります。

  • PaddleOCR: 複雑なレイアウト、表の認識、多言語に強いディープラーニングOCRエンジン(PP-OCR)。 (ガイド)
  • Docling: PDF、画像、Office文書を構造化されたMarkdownやJSONに変換するオープンソースの文書パーサー。RAGなどの生成AI用途向け。 (ガイド)
  • Pillow (PIL): OCRの前処理(コントラスト調整、二値化、切り抜き、形式変換)に使われるPythonの定番画像処理ライブラリ。 (ガイド)