【解決】画面にOCRをかけて文字を抽出したい!(2)

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
Google APIでスクリーンショットOCR アイキャッチ図版

前回の記事【解決】画面にOCRをかけて文字を抽出したい!(1)により,スクリーンショットとOCRで簡単に画面上のテキストを取得できるようになりました。

しかし,実はこの話はGoogle Cloud Vision APIのOCR認識精度がもの凄く高くて便利だなーというところから始まっています。

せっかくなのでそのすごいAPIを呼び出すものも紹介します。ただし,今回はAPI Key(利用者アカウントみたいなもの)を自力で取れる方が対象です。我こそはという方は続きをどうぞ。

Google Cloud Vision APIとは

Googleが提供している画像分析サービスです。画像の内容を認識して「これは花だ」と分類したり,「ここが顔だ」という情報を取得したりできます。
今回はテキスト検出(Text Detection)を利用して文字データを取り出します。

残念ながらこのAPIは完全に無料ではありません。2017年9月7日現在,テキスト検出機能は月最初の1,000回まで無料,以降1,000回(月あたり)ごとに1.50USDとなっています。意外と安い!

ちなみに500万回〜2,000万回までは1,000回ごとに0.60USD,2,000万回以上は要相談だそうです。

また,使うためにはAPI Keyという利用者アカウントのようなものを発行し,クレジットカードやデビットカードを登録する必要があります。私はVプリカというプリペイドカードで登録しようとして弾かれてしまいました。信用情報も重要ということですね。

いずれにせよGoogleのサービスはあっという間に仕様が変わるので,利用する場合はご自身で常に最新の情報を確かめることをお勧めします。

下準備

まずはAPI Keyを取得して有効化する必要がありますが,この記事で細かい手順は解説しません。以下のサイトがわかりやすかったので,参考にしながら手続きをしてください。
Cloud Vision APIの使い方まとめ (サンプルコード付き)

次にAutomatorサービスを使えるようにします。こちらのファイルをダウンロードしてください。

do_OCR.scptとshotOCR_Google.workflowの2つが入っています。shotOCR_Googleのほうを開いてインストールしてください。インストールができたら「Automator で開く」を選びます。

サービスインストール後,Automatorで開く画像

shotOCR_Googleは,中でdo_OCR.scptを呼び出す仕組みです(※前回の記事のようにワークフローで直接AppleScriptを実行したらエラーになりました)。なのでdo_OCR.scptファイルのパスを入力します。API Keyもここで書いて指定します。下のコメントに従って入力してください。

保存したら準備はこれで完了です。

使いかた

サービスを実行するとスクリーンショットが起動するので,撮る領域を指定してください。数秒待つと文字認識が終わり,クリップボードに文字が入ります。

なんて優秀なんでしょうか!

注意点

そんな便利なAPIですが弱点もあります。インターネットで画像を送信するサービスだけに,結構な通信容量を消費することです。特にテザリングで接続しているときなどは,すぐにスピード制限されたり通信料金が増えたりするのでお気をつけください。

これでまた少し仕事が速くなりました。今日もさっさと仕事を切り上げて好きなことをしましょう!

参考にしました。ありがとうございます。
スクリーンショットでOCR – Qiita
GoogleのCloud Vision APIをrubyで実装してrakeタスクにしたった – Qiita

コードはこちら

このサイトで配布しているスクリプトやその他のファイルを,無断で転載・配布・販売することを禁じます。
それらの使用により生じたあらゆる損害について,私どもは責任を負いません。
スクリプトやファイルのダウンロードを行った時点で,上記の規定に同意したとみなします。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

広告

コメントを残す

*