LoginSignup
2
1

More than 3 years have passed since last update.

Vision API(トレーニング済み機械学習モデル)を使ってRubyでテキスト抽出(OCR)をためしてみた

Posted at

Vision APIとは?

Google Cloud の Vision API は REST API や RPC API を介して強力な事前トレーニング済み機械学習モデルを提供します。画像にラベルを割り当てることで、事前定義済みの数百万のカテゴリに画像を高速に分類できます。オブジェクトや顔を検出し、印刷テキストや手書き入力を読み取り、有用なメタデータを画像カタログに作成します。
(公式ドキュメントより引用)

分析にかけた画像

アサインナビ トップページのキャプチャ画像(PNG形式)

anavi.png

分析結果

$ bundle exec rake cloud_vision:text['app/assets/images/anavi.png']
assign navi
新しい働き方
案件/人材を探す
ご利用ガイド
サービスについて
ログイン
会員登録
IT案件、外部人材との出会いを
テクノロジーで効率化
00

かなり高精度で、テキスト抽出できていますね (^^)

今回作成したコード

lib/tasks/cloud_vision.rake
## 呼び出し方
## $ bundle exec rake cloud_vision:text[image_file] # image_fileに'ここに画像ファイルのパス'

# Google Cloud client libraryの読み込み
require "google/cloud/vision"

namespace :cloud_vision do
  desc 'Run OCR.'
  task :text, [:image_file] do |task, args|
    return unless args[:image_file]

    # クライアントをインスタンス化
    image_annotator = Google::Cloud::Vision.image_annotator

    # OCRの実行
    response = image_annotator.text_detection(
      image: args[:image_file],
      max_results: 1 # optional, defaults to 10
    )

    # OCR結果の表示 
    response.responses.each do |res|
      res.text_annotations.each do |text|
        puts text.description
      end
    end
  end
end

環境変数はdotenvに記載

#.envファイル
GOOGLE_CLOUD_PROJECT="ここにプロジェクトIDを記載"
GOOGLE_APPLICATION_CREDENTIALS="Vision APIにアクセスする認証キーjsonファイルへのパスを記載"

セットアップ手順

セットアップ手順は近日中に追記させて頂きます

参考文献

Using the Vision API with Ruby

フォローや記事へのLGTMは、日々の投稿の励みになります。
温かい1クリックのほど、よろしくお願いします。 m(_ _)m

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1