PCのCPU性能の向上に伴い、パソコン上で文字を認識するOCR(Optical Character Recognition/Reader)ソフトが商品化されています。今回は無料で使えるTesseractを使います。

使い方

VisualStudioであれば

インストールをクリックしたらビルドしてみます。

すると実行ファイルができるフォルダにdllファイルとフォルダが作成されているはずです。

Tesseractを使うのであれば、さらに言語データが必要になります。

英語:tesseract-ocr-3.02.eng.tar.gz
日本語:tesseract-ocr-3.02.jpn.tar.gz

「tesseract-ocr-3.02.jpn.tar.gz」で検索したらダウンロードできるサイトがあったのでダウンロードしました。解凍したら「tessdata」というフォルダがあるので、これをどこか適当な場所にコピーします。今回はCドライブの直下にコピーしました。

アプリの外観はこんな感じです。左にあるのはRichTextBoxです。そしてボタンをクリックしたときの処理として以下を書き加えます。

page.GetText()はString型を返すので、これをRichTextBoxに表示させればよいということになります。

注意しなければならないのはBitmap画像は24bitBitmapでなければならないということです。

これで一応できるはずです。

ためしにやってみると・・・

予約商品入荷後、
順次配送いたします〝

誰でも! 対蒙の人気ストアで買ぅと最大+ー。%

うーん、多少おかしなところがあるけど読めているようです。

ただ複雑な画像になると読めません。

なにも表示されません。

画像になった文字を読むためには細かく分割したほうが精度が高くなるということがわかります。