Tesseractの各言語のラッパーいろいろ(随時更新)
スポンサーリンク
TesseractというのはGoogleが開発を支援しているオープンソースのOCRエンジンです。
Tesseract本体のインストールについては公式のWikiを参照。もしくはググって下さい。
TesseractのC/C++APIを使用するタイプと、tesseract
コマンドを呼び出すタイプの2系統があります。
Web APIなどの形式で使う場合、tesseract
コマンドを呼び出すタイプはリクエストの度にプロセスを生成することになるので好ましくないかと。
Python 3
もうちょっと仲良くしろよ……。なんで三つもあるんだ。
pyocr
Tesseract意外のOCRエンジンもサポートするのが特徴。 4.0のベータ版でほぼ動作します。
コマンド呼び出しとAPI経由の両方をサポート。
World / OpenPaperwork / pyocr · GitLab
pytesseract
PythonのSubprocessモジュール経由でtesseract
コマンド自体を呼び出すタイプ
GitHub - madmaze/pytesseract: A Python wrapper for Google Tesseract
文字方向検出以外は4.0.betaで動作します。3.0xで使うなら3.05以降がベターです(TSV形式のファイルから情報を取得できるので)。
tesserocr
GitHub - sirfz/tesserocr: A Python wrapper for the tesseract-ocr API
tesseract 3.04 以降。Tesseract 4.0.betaでも動作可。
Go
gosseract:
3.02以降対応(コミットログを見る限り3.04も対応してる模様)。
exec関数でtesseract
コマンド自体を呼び出すタイプ。
GitHub - otiai10/gosseract: Golang OCR library, wrapping Tesseract-ocr
go-tesseract
同じくexec関数でtesseract
コマンド自体を呼び出すタイプ。
GitHub - KuroiKitsu/go-tesseract: Go wrapper for Tesseract OCR.
Ruby
ruby-tesseract-ocr
メンテナンスされていません。
3.03 までサポート(3.04はまだ)。ruby-FFIライブラリによりlibtesseract経由でOCR。APIはruby的。
GitHub - meh/ruby-tesseract-ocr: A Ruby wrapper library to the tesseract-ocr API.
3.04でtesseract-ocr側のAPIに変更が入っているのと、OCR結果を格納するC++の構造体の仕様が変わってるのでそこで引っかかってる。
少なくともFFIの知識がいる。
rtesseract
RMagickで画像処理を行った後、tesseract
コマンドを実行するように見える。 バージョンごとのAPI変更の影響は受けにくい。
rtesseract/lib at master · dannnylo/rtesseract · GitHub
Java
Tess4J
4.0.betaに対応している。ライセンスはApache License, v2.0。
メンテナンスは活発で新しいバージョンへの対応も早い。
Swift(iOS)
iOS用。ライセンスはMIT。
開発が停滞気味。forkして新しいバージョンに対応しようとしている方が何人かいる。issue trackerを参照すべし。
例えば以下のforkとか。
hamchapman/Tesseract-OCR-iOS at macos-support
Windows
Tesseract-OCRの最新版のバイナリはWindows用には公式には提供されていない。PDF出力機能関係の問題があるとかないとかよくわからない。 バージョン 3.03/3.04についてはCygwin向けのパッケージを利用するか、有志がビルドした非公式バイナリを使う。
GitHub - charlesw/tesseract: A .Net wrapper for tesseract-ocr
Android
tess-two
GitHub - rmtheis/tess-two: Fork of Tesseract Tools for Android
すでに3.05ベースにバージョンアップしている模様。
Apache License。
APIとして完成しているもの
OpenOCR
ジョブキューまであるのでフルスペック。内部でどのGo言語ラッパーを呼び出しているのかは未調査。
GitHub - tleyden/open-ocr: Run your own OCR-as-a-Service using Tesseract and Docker
番外編(Tesseract-OCRとは別)
tesseract-OCR ではないけれど。
Microsoft OCR Library for Windows Runtime
WinRT/Metro TIPS:OCR(光学文字認識)機能を実装するには?[ユニバーサルWindowsアプリ開発] - @IT
NuGet Gallery | Microsoft OCR Library for Windows Runtime 1.0.0
SaaSタイプのAPI
利用規約の面からアウトだったかもしれないけどEverNote のAPIいうのもあったはず。
文字認識 | docomo Developer support | NTTドコモ
Vision API - 機械学習による画像認識, OCR | Google Cloud Platform
あとはMicrosoftのCognitive APIも日本語のOCRに対応しています。
ひとまずここまで。