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

Pocket

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

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

 

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

$ sudo pacma -S tesseract tesseract-data-eng tesseract-data-jpn

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

 

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

OCRサンプル。サクッと作った

OCRサンプル。サクッと作った

 

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

$ 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
あいう
日本語

  • 言語を指定しないと英語が選択される
  • 日本語だけではアルファベットや数字を正しく認識できない
  • 言語複数指定の場合は指定する順序で結果が変わる
  • eng+jpnよりjpn+engの方が精度が良い?

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

 

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

 

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

お茶漬け

たまーに飲み屋で食べるお茶漬けめちゃウマい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です