今日も微速転進

ここではないどこかへ

Tesseractの各言語のラッパーいろいろ(随時更新)


スポンサーリンク

TesseractというのはGoogleが開発を支援しているオープンソースOCRエンジンです。

Tesseract本体のインストールについては公式のWikiを参照。もしくはググって下さい。

github.com

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経由でOCRAPIruby的。

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。

GitHub - gali8/Tesseract-OCR-iOS: Tesseract OCR iOS is a Framework for iOS7+, compiled also for armv7s and arm64.

開発が停滞気味。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言語ラッパーを呼び出しているのかは未調査。

OpenOCR by tleyden

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

利用規約の面からアウトだったかもしれないけどEverNoteAPIいうのもあったはず。

文字認識 | docomo Developer support | NTTドコモ

Vision API - 機械学習による画像認識, OCR  |  Google Cloud Platform

あとはMicrosoftのCognitive APIも日本語のOCRに対応しています。


ひとまずここまで。

広告