adbird(広告鳥) 備忘録

ubuntuで画像から日本語OCRでテキスト抽出

Googleドライブ、Googleドキュメントを使って日本語OCRはできるのだけど、いちいち画像をアップロードしたりと面倒なので、精度は落ちるらしいけどサクッと日本語OCRをやりたかったので、やってみた。

tesseract 本体をインストール

 $ sudo apt-get install tesseract-ocr

日本語を読めるようにする。

 $ sudo apt-get install tesseract-ocr-jpn

のはず…。実は下記の、手動で日本語データをダウンロードする方法でやった後で、上記の方法を知ったので試していない。

手動でダウンロードする場合は、

ダウンロードフォルダ内で端末を開いて、日本語を読み取るためのデータ(jpn.traineddata)をダウンロードして、必要な場所にコピー。

$ wget https://github.com/tesseract-ocr/tessdata/raw/master/jpn.traineddata
$ sudo cp jpn.traineddata /usr/share/tesseract-ocr/4.00/tessdata/jpn.traineddata

実行

以下はtest.pngを読み取って、test.txtを生成。出力先に拡張子(.txt)はいらない。

$ tesseract test.png test -l jpn

スクリプト

半角スペースを削除したり、「,」を「、」に変えたりしたかったので、スクリプト ocr.sh を作った。

tesseract $1 $2 -l jpn
sed -i -e 's/ //g' $2.txt
sed -i -e 's/,/、/g' $2.txt

実行

sh ocr.sh 入力.png 出力名(拡張子なし)

参考リンク