中級 12 分ビジョン

Tesseract OCR:スキャンをローカルで読み取る(ガイド フランス語)

端的な回答

Tesseractは、定番のオープンソースOCRエンジンです(Apache 2.0、GitHubで7万を超えるスター、2026年のバージョンは5.5.3)。無料で、オフラインで動作し、幅広い環境で利用できます。その認識精度は、エンジン自体の設定よりも、画像の品質——解像度、傾き補正、コントラスト——にはるかに大きく左右されます。鮮明なテキストでは高速で信頼性も高い一方、複雑なレイアウトや少し傾いた文書では、精度が一気に落ちることがあります。

スキャンしたPDFにはテキストデータが含まれていません。文字を写した画像です。光学文字認識を行うまでは、内容が空のままインデックスに登録され、文書アシスタントは「この文書には何も書かれていない」と断言します。この工程で定番となっているのが、自由に利用できるオープンソースエンジンのTesseractです。無料で、オフラインで動作し、どこでも利用できます。また、その認識精度は、エンジン自体の設定よりも画像の品質にはるかに大きく左右されます。

著者 Mohamed Meguedmi·更新 2026-09-29·Windows・macOS・Linuxでテスト済み

#Tesseractとは何か、何とは違うのか

Tesseract は Apache 2.0 ライセンスで公開されている光学文字認識(OCR)エンジンです。公式リポジトリは、メンテナーによって「Tesseract Open Source OCR Engine」と説明されており、現在 GitHub 上で 70,000 スターを超えています。バージョン 4 では、行認識に特化した LSTM ニューラルネットワークベースのエンジンが追加されました。一方、文字パターンを認識する従来のエンジンは、オプションとして引き続き利用可能です。一般的な画像形式(PNG、JPEG、TIFF)を読み取り、プレーンテキスト、hOCR、PDF、または TSV を出力します。最新の安定版である 5.5.3 は 2026 年 7 月 24 日にリリースされました。実用上の注意点として、言語ファイルをインストールし、画像を適切に処理してください(300 DPI、ページがまっすぐ、コントラストが鮮明)。次に適切なセグメンテーションモードを選択し、バッチ処理を開始する前に、約 20 ページの結果を確認してください。

文書の内容を理解するツールではありません。出力するのはテキストで、位置情報が付く場合もあります。あるブロックが見出しだと判定したり、表を行と列の構造に再構成したり、読み取った内容を理解したりはしません。構造化された文書を扱う際、OCRは数ある構成要素の一つにすぎません。

#フランス語:言語ファイル

ローカルAIキット

お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 30日間返金対応

デフォルトでは、Tesseractは英語を読み取ります。フランス語のドキュメントに対しては、アクセントが失われ、単語が近似値として認識されることになります。そのため、多くの人がエンジン自体の品質が悪いと結論づけてしまいます。ドキュメントには、-lオプションを指定しない場合、英語が前提とされていることが明記されています。したがって、言語のデータファイルをインストールし、実行時に明示的に指定する必要があります。プロジェクトでは、適切なパッケージをインストールすることで、100以上の言語の認識に対応していると主張しています。

フランス語スキャンの認識
# Debian/Ubuntu : installer les données françaises
sudo apt install tesseract-ocr tesseract-ocr-fra

# macOS (Homebrew) : le moteur puis les langues supplémentaires
brew install tesseract tesseract-lang

# Reconnaître une image en français, sortie texte
tesseract scan.png sortie -l fra

# Plusieurs langues dans le même document
tesseract scan.png sortie -l fra+eng

# Sortie PDF avec couche de texte interrogeable
tesseract scan.png sortie -l fra pdf
i
PDF は画像ではありません
Tesseractは入力として画像を受け取ります。画像を処理するコマンドの末尾にpdfを追加すると、検索可能なテキストレイヤーを持つPDFが生成されます。複数ページのスキャンされたPDFでは、Tesseractを利用するOCRmyPDFのようなツールが各ページをラスタライズし、その後、文書にテキストレイヤーを追加します。

#画像の品質がすべてを決める

これは、気づいたときには手遅れになりがちな点です。公式ドキュメントの「Improve quality」ページでは、エンジンの設定に先立つ画像処理に重点を置いています。Tesseractは内部でも処理を行っています(Leptonicaライブラリ)が、それだけでは十分でないことがあります。数行のコードで前処理するだけで、質の悪いスキャンを読み取れるようになることもよくあります。請求書抽出ソフトウェアを提供するKoncileは、2026年に公開した自社のテストで、この現象の影響の大きさを示しています。請求書がわずか3〜5度傾くだけで、正しく読み取れる割合が100%から31%に低下しました。独立した研究ではありませんが、この規模の低下は公式ドキュメントの警告と整合しています。エンジンの設定では、このような低下を補うことはできません。事前に傾きを補正することでしか改善できません。

解像度
公式ドキュメントでは、Tesseractが300dpi以上の画像でより正確に動作すると述べており、それ以外の場合はリサイズを推奨しています。
傾き補正
ドキュメントでは、ページが大きく傾いていると行の分割品質が著しく低下すると警告しています。行が水平になるように画像を回転させる必要があります。上記の数値を参照してください。
コントラストと二値化
Tesseractは内部で二値化(Otsu法)を行いますが、背景の色調が均一でない場合、結果が劣ることがあります。バージョン5.0では、thresholding_*パラメータで調整可能なAdaptive OtsuとSauvolaという2つのメソッドが追加されました。バージョン4以降のエンジンでは、明るい背景に暗いテキストが必要です。
画像の余白
余白が広すぎると認識エンジンの処理に支障が出ますが、テキストのぎりぎりまで切り抜いても同様です。ドキュメントでは、余白のない切り抜き画像の周囲に小さな白い余白(例では10ピクセル)を追加することを勧めています。
  1. 01
    ページの傾きを補正する
    テキストの主な傾き角度を検出し、ほかの処理に先立って画像を回転させる。ほとんどの卓上スキャナーでは、ハフ変換に基づく簡単なスクリプトで十分です。
  2. 02
    コントラストを整える
    グレースケールに変換してから二値化し、真っ白な背景にくっきりした黒が出るようにする。照明にむらがあると固定しきい値ではうまくいかないため、適応的しきい値処理を使う。
  3. 03
    画像をトリミングしてOCRを実行
    スキャン画像の縁や大きな空白の余白を取り除き、テキストの周囲に細い白い余白を残してから、処理する文書の種類に適した言語とセグメンテーションモードを指定してTesseractを呼び出す。

#結果に影響を与える設定

知っておくべきオプション
オプションその用途は何か変更するタイミング
ページ分割モード (--psm)ページのレイアウトをエンジンに指定します:単一のブロック、段組み、単独の行(7)、点在するテキスト(11)チケット、ラベル、幅の狭い列、小さく切り抜いた画像を扱う場合:デフォルトモードはページ全体を想定しています
エンジンモード(--oem)1:LSTMニューラルネットワークのみ、0:従来のエンジン使う場面はまれです。一般的なLinuxパッケージに含まれる言語ファイル(tessdata_fast)はLSTMにしか対応しておらず、これらのファイルではモード0と2は動作しません
許容される文字のリスト(tessedit_char_whitelist)認識対象を一部の文字に限定する数字のみの項目で、文字と数字の混同を減らすため
辞書(load_system_dawg、load_freq_dawg)エンジンの語彙リストを有効にする2つの変数領収書、価格表、コードなど、テキストの大部分が一般的な単語ではない場合は、これらを無効にすると役立つことがあります。

セグメンテーションモードは、最も見落とされがちな設定です。ドキュメントにもあるように、Tesseractはデフォルトで1ページのテキストを想定しているため、小さな領域を読み取るには別のモードを選ぶ必要があります。画像に1行だけが含まれている場合、モード7はそれを単一の行として処理します。ラベルが点在するスクリーンショットのように、特定の順序がなくテキストが散在している場合も、対応するモードを選べば同じ問題を回避できます。一方、エンジンモードを変えても結果が変わることはめったにありません。これには実際上の理由があります。従来のエンジンはtessdataリポジトリの言語ファイルにしか含まれておらず、ほとんどのディストリビューションが提供する高速版や高精度版には含まれていないためです。

鮮明で、適切にフレーム内に収められた印刷テキストでは、Tesseractは今も十分な競争力があります。クラウド型の代替サービスを販売するオンラインOCRサービスFastOCRによると、鮮明な英語テキストでの精度はTesseract v5が95〜97.2%、Google Cloud Visionが98.2〜99.1%です。これは利害関係のある事業者による数値で、測定手順は公開されていません。測定結果としてではなく、おおよその目安として受け止めてください。エンジンは、実際に扱う文書の性質に応じて選ぶべきです。鮮明な印刷文書ならTesseractで十分ですが、傷んだ文書、手書き文書、構造が複雑に詰め込まれた文書では、処理全体の弱点になります。

#Tesseractまたはビジョンモデル

2 つのファミリー、2 つの用途
基準Tesseractローカルのビジョンモデル
リソースプロセッサのみGPUが望ましい、数GB
処理速度非常に高速はるかに遅い
1列に整然と配置されたテキスト優秀同等だが価格が高め
複雑なレイアウト、テーブル低い:プロジェクトのドキュメントでは、表の処理に既知の問題があることを認めていますはるかに優れている
手書き非常に低い:FastOCRによると25%から40%の範囲明らかに優れている
コンテンツ理解なしドキュメントに関する質問に応答できます
情報を捏造するリスク低い:値を作り出すのではなく、文字を読み間違える実際にあります:モデルがもっともらしい値を捏造する可能性があります

この最後の行は、あらゆる文書チェックで重要です。Tesseractは文字を取り違えることで誤りを起こしますが、画像認識モデルは、形式上は完全に整っていても誤った数値を生成することがあります。この違いは絶対的ではありません。金額の0を8と読み違えても、それだけでは気づけないからです。ただし、不自然なテキストは、もっともらしく捏造された値よりも、OCRエンジンの誤りを見抜く手がかりになることが多いのです。2026年に公開された比較記事は、こうした状況の変化をまとめています。本当の代替手段は、もはや従来のOCRエンジンではなく、オープンソースの視覚言語モデルであり、その一つとしてPaddleOCR-VLが名指しされています。ただし、代わりに必要な計算資源は増えます。Tesseractは一般的なCPUで動くのに対し、これらのモデルにはGPUが必要です。

#Tesseractプロジェクトの実際のコスト

エンジン自体は無料なので、OCRプロジェクトで実際にどこに時間がかかるのかが見えにくくなりがちです。本当に手間がかかるのは、エンジンの前後の作業です。画像の前処理(傾き補正、二値化、縁の処理)と、結果の確認が必要になります。現実的な予算を立てるなら、最初のバッチで期待外れの結果が出てからこの2つの工程に気づくのではなく、最初から両方に必要な時間を見込んでおきます。

スキャナー、またはスマートフォンで撮影した写真
フラットベッドスキャナーなら、手持ちで撮影した写真よりも、傾きが少なく照明が均一なページ画像を得られます。処理する量が多く、スキャナーを使うだけの価値がある場合は、スキャナーを優先する。
出力フォーマット
インデックス化にはプレーンテキストで十分です。hOCR形式は位置情報を保持するため、元のインターフェースで抜粋をハイライトするのに役立ちます。
品質チェック
スキャンソースの変更ごとに手動でサンプルを確認し、全体に影響を与える前にずれを検出します。
処理量と並列化
Tesseract はデフォルトでマルチスレッド(OpenMP)で実行されますが、大量の処理には適していません。プロジェクトのよくある質問(FAQ)では、OMP_THREAD_LIMIT=1 と設定してコアごとにプロセスを起動することを推奨しており、マルチスレッドの追加コストを回避できます。

最後に、見落とされがちな項目が、生成ファイルの命名です。数千ページを扱う場合、どのテキストがどのスキャンに対応するかを確認できる必要があります。画像と認識されたテキストで同じベース名を使えば、この問題を最初から解消できます。

#ローカルの処理パイプラインに組み込む

ローカルのドキュメント管理環境において、Tesseract が関与するのは単一の箇所です。テキストレイヤーを持たないドキュメントに対して、インデックス作成の直前です。自動化すべきテストは単純です。PDF のテキスト抽出で、1 ページあたりの文字数が数十文字未満(閾値はコーパスに合わせて調整してください)の場合、おそらくスキャン画像であり、OCR に回します。このテストがないと、ドキュメント全体が空のままインデックスに静かに取り込まれ、ユーザーが疑問を抱くまで誰も気づきません。

傾き補正と二値化は、ページごとに個別に判断するのではなく、この同じパイプライン内で自動化するのがよいでしょう。主な傾きの角度を検出し、エンジンを呼び出す前に補正するスクリプトを使えば、前述の想定外の問題の多くを避けられます。同じスキャナーと同じ種類の文書で構成される均質な一括処理では、この前処理を一度設定すれば、その後は監視なしで実行できます。

→
最適化する前に測定する
何かを調整する前に、実際のコーパスを代表する20〜30ページの小さなセットを作り、変更ごとに前後のエラー率を記録してください。補正、二値化、セグメンテーション方式の変更が、孤立した例ではなく自分の文書で本当に役立ったかを知る唯一の方法です。

#FAQ

Tesseract は無料ですか?+
はい、Apache 2.0 ライセンスのオープンソースソフトウェアであり、ロイヤルティなしで商用利用可能で、オフラインで動作し、ページ課金や API キーも不要です。公式リポジトリは GitHub で 70,000 スターを超えており、広範なユーザー基盤と、2026 年でも依然として積極的にメンテナンスされているプロジェクトであることを示しています。安定版は 7 月にリリースされました。
フランス語を読ませる方法は?+
フランス語のデータファイルをインストールし、呼び出し時に -l fra を明示的に指定することで、エンジンが英語で読み取り、アクセントを誤解し「é」を近似文字に変換する問題を回避できます。複数言語を同時に使用することも可能です。たとえば fra+eng で双言語ドキュメントを処理できます。
なぜ結果が読めないのですか?+
多くの場合、原因は画像の品質です。解像度が不足している、ページが傾いている、コントラストが低いなどです。ソフトウェア提供元のKoncileによるテストでは、文書がわずか3〜5度傾いているだけで、読み取り率が100%から約31%まで低下することがあります。一般に、傾きを補正し、二値化し、解像度を300 DPIにすることの方が、エンジンの設定を調整するよりも効果的です。
Tesseractは表を読み取れますか?+
テキストは返しますが、構造は再現しません。公式ドキュメントにも、カスタムのセグメンテーションを行わない場合の表に関する既知の問題が記載されています。行や列の構造が失われ、金額が誤った項目に対応付けられる可能性があります。表から抽出した数値を信頼するには、その前にPaddleOCRのようなレイアウト解析ツール、またはセルを再構成できるビジョンモデルを使う必要があります。
ビジョンモデルを優先すべきでしょうか?+
複雑なレイアウトや手書きの場合は、はい。競合サービスのFastOCRは、手書きに対するTesseract v5の精度を25〜40%としていますが、この数値は慎重に受け止める必要があります。鮮明な印刷文字では、Tesseractの方が依然として高速で軽量であり、もっともらしい値を作り出すことも少なくなります。Tesseractは文字を取り違えるのに対し、モデルは誤っていてももっともらしく見える値を生成することがあります。
ページ分割モードとは何ですか?+
ドキュメントの構造をエンジンに事前に伝える設定です。ページ全体、単一の列、単一の行、単語、または順序のないテキストのいずれかです。テキストが明確に含まれているが、何も返らない場合、最初に変更すべき設定です。また、テキストが非常に狭い切り取り状態にある場合、その切り取り部分の周りに薄い白い枠を追加すると効果があります。ドキュメントの説明書に記載されています。
Tesseract を使ってスキャンされたPDFを検索可能にする方法は?+
画像の場合は、コマンドの末尾に pdf を追加してください。Tesseractは、非表示のテキストレイヤーを持つPDFを生成します。複数ページのPDFには、Tesseractを利用するOCRmyPDFを使ってください。OCRmyPDFが各ページをラスタライズし、そのテキストレイヤーを文書に追加します。どちらの場合も、-l fra で言語を指定してください。指定しないと英語として処理され、アクセント記号が失われます。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。