2014年12月17日

LinuxでのコマンドラインOCR tesseract-ocr

Linx Mintでソフトウエアの管理でインストールした。HP(ヒューレパッカード)が開発し、Googleが管理しているOCRソフトである。
GoogleでOCRができるという話は聞いたがよくわからないのでこっちにした。
結果として90%以上の制度で読み取りに成功した。縦書に対応しているが、日本語用ファイルをインストール必要がある。
ライブラリ
$ sudo apt-get install libpng-dev
$ sudo apt-get install libjpg-dev
$ sudo apt-get install libtiff-dev
$ sudo apt-get install zlib1g-dev

本体
$ sudo apt-get install tesseract-ocr

日本語ファイル(各言語あり)
$ sudo apt-get install tesseract-ocr-jpn


コマンドライン(端末)で、スキャンして得た画像ファイルimage001.jpg をtext001にテキストファイル書き出す。まず面倒を避けて同じディレクトリで作業することを前提する。パスが通っているのでコマンドと同じように使う。
*出力ファイルtest001には自動的に拡張子 .txt がつくので引数に含めないこと。
*言語指定 -l が言語指定のオプション。-l jpnで日本語ファイルがインストールされていれば、指定可能
$ tesseract image001.jpg text001 -l jpn

以下
$ tesseract image002.jpg text002 -l jpn
$ tesseract image003.jpg text003 -l jpn
・・・・・


これではテキストファイルがバラバラなので
$ cat text001.txt text002.txt > text-all.txt

これは引数をたくさん書く場合めんどくさいので
$ cat text003 >> text-all.txt
$ cat text004 >> text-all.txt
・・・・・

とすればファイルの終わりにテキストが結合される。
その後、画像ビューアーとテキストエディタあるいはワープロでチェックすれば、無料でOCRできる。無料なら申し分ない。

Windows版もあるそうだ。
参考
http://jprogramer.com/ocr/1990/
posted by Mondayota at 15:01| Linux