お茶漬けぶろぐ

ラノベデータベースを作る 〜OCR〜

手持ちのコミックスやラノベのデータベースを作りたいと思った時、全部手作業で入力するにはだいぶ厳しい分量があるので、どうせなら、背表紙が写るように並べて撮影→各本ごとの領域に切り分け→OCR→タイトル/著者くらいの情報を得て、データベースに放り込む、みたいなシステムを作りたいと思うわけだ。その準備として、まずはOCRで文字が認識出来るかどうか、取り敢えずで触ってみる。

今回触るのはtesseract。環境はantergos(ArchLinux)。

普通にリポジトリにあるみたいなので、素直にインストールする。

[bash]
$ sudo pacma -S tesseract tesseract-data-eng tesseract-data-jpn
[/bash]

tesseract本体、English, Japaneseの言語データをインストールした。言語データが無いと、本体だけでは実行出来ない。

今回試しにOCRしてみる画像はこちら。

[caption id=”attachment_128” align=”alignnone” width=”206”]OCRサンプル。サクッと作った OCRサンプル。サクッと作った[/caption]

さて、実行してみる。tesseract input_file output_fileといった感じ。-lで使用する言語を指定できる。+で複数繋げば複数選択する事も可能。

[bash]
$ tesseract test.png result.txt
$ cat result.txt
ABC123

$ tesseract test.png result.txt -l jpn
$ cat result.txt
ABCー z3
ぁいう
日本語

$ tesseract test.png result.txt -l eng
$ cat result.txt
ABC123

$ tesseract test.png result.txt -l eng+jpn
$ cat result.txt
ABC123

$ tesseract test.png result.txt -l jpn+eng
$ cat result.txt
ABC123
あいう
日本語

[/bash]

といったところか。そう何度も試したわけではないので、それぞれの実行も1回だし実際どうなのかは不明。

Tesseract-OCRの学習あたりを参考にすればさらなる学習も出来そうだけど、だいぶ骨が折れそうだな。

サンプル画像を変形した場合にどうなるかはまた今度調べよう。

< 俺々プールをさくっと構築するスクリプト

monacoinの俺々プールを作る >