【2024年版】無料オープンソースのOCRソフトウェア10選を徹底比較!(PDFや画像からテキスト情報を抽出)

2024年11月14日(木) 通信・システム

 

企業内ではテキストデータのみならず、さまざまなバイナリデータがやり取りされます。良くあるのはPDFの帳票です。そうしたデータの中から必要な数字、テキストを抽出する際に便利なのがOCRです。

OCRを使うことで、PDFや画像からテキストが抽出できます。システム自動化を考える際に役立つので、覚えておきましょう。

 

全文検索も可能なマニュアル作成・ナレッジ共有ツール「NotePM」

 

macOCR

macOS向けのコマンドで、任意の範囲を指定してテキストデータを抽出します。抽出されたテキストは標準出力の他、クリップボードにもコピーされます。

範囲の選択時にはマウスを利用するので、見た目にもわかりやすいですし、画像の一部からテキストを抜き出すのにも利用できます。

schappim/macOCR: Get any text on your screen into your clipboard.

全文検索も可能なマニュアル作成・ナレッジ共有ツール「NotePM」

Tesseract OCR

Tesseract OCRはGoogleが公開したオープンソース・ソフトウェアで、機械学習(LSTM)を利用したOCRとなっています。起源としてはさらに古く、1985年からHP社によって開発されています。

多言語(100言語以上)に対応しており、日本語も利用できます。現在のバージョン4ではなくレガシーなOCRエンジンも利用できますので、必要に応じて使い分けると良いでしょう。

tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository)

 

Tesseract.js

Tesseract.jsは先述のTesseract OCRをWebブラウザ向けにポーティングしたソフトウェアになります。ブラウザで利用できるので、より手軽に使えます。もちろんTesseract OCRも多言語に対応しています。

Tesseract.js | Pure Javascript OCR for 100 Languages!

全文検索も可能なマニュアル作成・ナレッジ共有ツール「NotePM」

Ocrad

Ocradの歴史の長いOCRプログラムです。英語とスペイン語に対応しています。対象とするファイルはPNGまたはPNMフォーマットで、8ビットのUTF-8フォーマットのテキストが認識できます。

段組されたページに対応したページ解析機能も組み込まれています。

Ocrad – GNU Project – Free Software Foundation (FSF)

 

Ocrad.js

Ocrad.jsは先述のOcradをブラウザ向けにポーティングしたソフトウェアです。Emscriptenを用いてJavaScriptから使えるようにしています。画像はJPEG、PNG、GIFの他、BMP、SVG、NetBPMが利用できます。

OCRADという関数にimgタグを適用するだけで使えるのでとても簡単です。認識精度という点においてはTesseract.jsの方が高いようですが、30倍以上小さいファイルという点が売りになっています。

Ocrad.js – Optical Character Recognition in Javascript

全文検索も可能なマニュアル作成・ナレッジ共有ツール「NotePM」

Capture2Text

Capture2TextはWindows向けのコマンドベースのOCRソフトウェアです。数多くの言語に対応しており、日本語も含まれます。横書きの文字だけでなく、縦書き(マンガのセリフのような)も認識します。

Windowsのショートカットキーを使って利用するのが推奨されています。好きなときにOCRコマンドを呼び出せるのが便利です。認識されたテキストはクリップボードに入ります。

Capture2Text

 

NDLOCR

NDLOCRは国立国会図書館にあるデジタル資料から全テキストデータを作成するのを目標として作成されているソフトウェアです。そのため、日本語に最も強く対応しているソフトウェアと言えるでしょう。

認識したテキストへの漢字の読み方付与やノンブル除去、広告領域内の文字読み取り機能など他にはない機能が備わっています。年代を考慮した認識精度向上など、面白い取り組みも行われています。

NDLOCR

全文検索も可能なマニュアル作成・ナレッジ共有ツール「NotePM」

OCRmyPDF

OCRmyPDFはPDFのOCRに特化したソフトウェアで、認識したテキスト情報を透明テキストとしてPDFに付与します。その結果として、PDF内のテキスト検索が可能になります。

テキスト情報がないPDFに対して利用すると、検索できるようになるので利便性が上がるでしょう。テキスト認識にはTesseract OCRを利用しているので、日本語にも対応しています。

ocrmypdf/OCRmyPDF: OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched

 

EasyOCR

EasyOCRはOCRとして機械学習(CRNN)を用いています。80を超える言語認識が可能で、日本語も含まれています。Webで動作するデモがHuggingfaceにて公開されています

Pythonで作られており、スクリプトから呼び出しもできます。認識した部分を数字で取得できるので、その部分を枠で囲んだりすることもできます。よりプログラマブルにOCRを利用するのに使えるでしょう。

JaidedAI/EasyOCR: Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.

全文検索も可能なマニュアル作成・ナレッジ共有ツール「NotePM」

kraken

krakenはPython製のソフトウェアで、非ラテン文字を対象としたOCRとなっています。アラビア語のような右から左に書くような言語、日本語のような上から下に書く言語に対応しています。

認識した文字と、その範囲を出力できるので、どの部分をどう認識したか付け合わせるのも簡単です。PDFやJPEG、TIFFであればコマンドラインからOCR処理できます。

mittagessen/kraken: OCR engine for all the languages

 

まとめ

今回紹介したOCRソフトウェアを利用すれば、これまで目で確認・入力し直していたデータが自動処理できるようになります。最近のOCRでは機械学習が用いられており、認識精度も格段に上がっています。積極的に利用していきましょう。

業務の自動化は情シス担当者の役割の一つでしょう。アンケートの入力や帳票の数字入力などの場面で活用できそうです。
NotePM