Rで解析:OCRができるのです!「tesseract」パッケージ


投稿日: Rの解析に役に立つ記事

画像ファイルから各言語でOCRが可能なパッケージの紹介です。画像の解像度により精度が変化しますがザクッとした文字データの取得には許容範囲と考えます。

参考データはけものフレンズHPのイントロダクションをキャプションしました。
下記URLにアクセスし実行コマンド結果と比較してもらうと精度の判断になるかと考えます。

・けものフレンズHPのイントロダクション
 http://kemono-friends.jp/introduction

パッケージバージョンは1.4。windows 10のR version 3.3.3で動作を確認しています。


パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("tesseract")

コマンドの紹介

詳細はコマンド、各パッケージのヘルプを確認してください。なお、コマンド内に記述しているようOCRに必要な各言語のtraining dataは下記URLのData Files for Version 3.04/3.05よりダウンロードしてtesseract_infoコマンドで表示されるdatapathに保存しください。

・training dataのダウンロード
 https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#data-files-for-version-304305

#パッケージの読み込み
library("tesseract")

#tessdata repositoryからtraining dataを取得:tesseract_downloadコマンド
#このコマンドで取得したtraining dataはエラーになります
#以下URLのData Files for Version 3.04/3.05より目的とする
#training dataを取得してtesseract_infoコマンドで表示される
#datapathに保存しください
#https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#fraktur-data-files
#tesseract_download(lang = "jpn")

#tesseractの環境を確認:tesseract_infoコマンド
#初期状態のavailableは"eng" "osd"のみです
tesseract_info()
$datapath
[1] "C:/Program Files/R/R-3.3.3/library/tesseract/tessdata/"
$available
[1] "eng" "osd"
$version
[1] "3.04.01"

#画像ファイルからテキストを抽出:ocrコマンド
#処理言語を指定:engineオプション
#画像ファイルを指定
OCRImg <- paste0(as.character(tcltk::tkgetOpenFile(title = "画像ファイルを選択",
                                                   filetypes = '{"画像ファイル" {".*"}}',
                                                   initialfile = "*.*")))
#OCR処理
GetOCR <- ocr(image = OCRImg,
              engine = tesseract("jpn"))
#内容確認
cat(GetOCR)
# 蜘ア二メ 「けものフレンズ」 は 萱萱)
# この世界のどこかにつ〈られた
# 超巨太荊績合動吻園 「シヤパリバーク」 (
# そこでは神秘の物質 「サン卜スター」 の力で`
# 動吻たちが次々とヒ卜の姿をした
# 「ア二マ丿しカー丿し」 ヘと変身一!
# 訪れた人々と賑やかに楽しむようになりました.
# しかし` 時は流れ‥ " (
#                    
# ある日、 バークに困つた様子の迷子の姿が.
# 帰路を目指すための旅路が始まるかと思いきや、
# ア二マルガールたちも加わつて`
# 太冒険になつちゃつた ! ?

少しでも、あなたの解析が楽になりますように!!けものフレンズ最新話の配信を視聴するまでネタバレを見ないようにするのがつらいです。11話「セルリアン」楽しみです。

スポンサードリンク

関連コンテンツ


スポンサードリンク