【Java】 画像から文字列を取得する [1] ~ 光学文字認識 / OCRライブラリ・基本編 ~

画像から文字列を取得する

 * 光学文字認識(Optical Character Recognition;OCR)ライブラリを使用する

OCRライブラリ

[1] NHocr
[2] Tesseract-OCR / Tess4J
[3] Eye
[4] Java OCR
[5] Aspire OCR

個人的見解

 + フリーで、日本語対応で使用できそうなのは、[1]or[2]
 + 日本語のみの比較なら[1]の方がよさそう
 + アルファベット交じりの場合、[2](もしくは[1]との併用)

[1] NHocr

 * 日本語サポート
 * サポート画像:PBM/PGM/PPM
 * プログラム言語:C++Javaじゃないので直接使う事は出来ない)

v0.22の制約事項

https://ja.osdn.net/projects/nhocr/docs/about-140830/ja/19/about-140830.html
より、以下の事項は認識率が悪い。
 * 全角・半角の文字が混在
 * プロポーショナルフォント
 * ASCII文字

ライセンス

 * Apache License V2.0

 * ライセンスについては、以下の関連記事を参照のこと
http://blogs.yahoo.co.jp/dk521123/35506016.html

デモサイト

http://maggie.ocrgrid.org/nhocr/index-j.html

ダウンロードサイト

https://ja.osdn.net/projects/nhocr/

環境設定

 * 以下の関連記事を参照のこと。
OCRライブラリ「NHocr」をインストールする ~ Debian編 ~
http://blogs.yahoo.co.jp/dk521123/36629271.html

[2] Tesseract-OCR / Tess4J

 * Tesseract(テッセラクト) = 四次元立方体
 * プログラム言語:C++ => Tess4J は、Javaで使用できるようにラップしたもの
 * 日本語サポート
 * 機械学習により、精度を上げることができる

ライセンス

https://github.com/tesseract-ocr/tesseract
 * Apache License V2.0

公式サイト

https://github.com/tesseract-ocr/tesseract/wiki
* Tess4J
http://tess4j.sourceforge.net/

ダウンロードサイト

https://github.com/tesseract-ocr
* Tess4J
https://sourceforge.net/projects/tess4j/?source=typ_redirect

サンプル

 * 以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/36628821.html


[4] Java OCR

 * 100% Java製
 * ドキュメントが(英語含めて)、全然ない...
  => ソースから解説するしかなさそう。
    「net.sourceforge.javaocr.ocrPlugins.mseOCR.OCRScanner」クラス付近から見てみるといいかもしれないが...

ライセンス

 * Apache License V2.0

ダウンロードサイト

https://sourceforge.net/projects/javaocr/
ソースコード
https://sourceforge.net/projects/javaocr/files/Releases/


関連記事

画像から文字列を取得する [2] ~ Tesseract-OCR / Tess4J 編 ~

http://blogs.yahoo.co.jp/dk521123/36628821.html

漢字からカタカナを取得する (日本語形態素解析ライブラリ)

http://blogs.yahoo.co.jp/dk521123/36627267.html

LinuxOCRライブラリ「NHocr」をインストールする ~ Debian編 ~

http://blogs.yahoo.co.jp/dk521123/36629271.html

ライセンスについて

http://blogs.yahoo.co.jp/dk521123/35506016.html