0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

horikawa hitoriAdvent Calendar 2022

Day 3

cloud vison apiとRubyで簡単にOCRしてみる

Posted at

はじめに

OCRを使って画像から文字を抽出したいことがありましたが、自前で作るのはしんどいので既存のサービスで良いものがないか探していました
Cloud Vision APIを使えばかなり簡単に実現できそうだったので紹介します

事前準備

googleのドキュメントを参考にCloud Vision APIを有効にしてください
https://cloud.google.com/vision/docs/detect-labels-image-client-libraries?hl=ja

jsonでcredential情報がダウンロードできるので、任意の場所において
環境変数GOOGLE_APPLICATION_CREDENTIALSで指定してください

cloud vision APiのgemをインストール

gem install google-cloud-vision

使い方

今回はこちらの自分のQiitaのマイページの一部分に対してOCRを使ってみます
2990f756141a0c40fe1b356a4fc6c92d.png

require "google/cloud/vision" 

def image_annotator
  @image_annotator ||= Google::Cloud::Vision.image_annotator
end

image = 'mypage.png'

response = image_annotator.text_detection(
  image:       image,
  max_results: 1
)

response.responses.each do |res|
  res.text_annotations.each do |text|
    puts text.description
  end
end

たったこれだけのコードでとりあえずは画像内の文字を取り出すことができます
実行した結果がこちらです

"9\n|投稿\nYoshiki Horikawa\n@yhorikawa\n45 Contributions\n1\nフォロー\nえんじにあさんねんめ\n1\nフォロワー\nプロフィールを編集する"
"9"
"|"
"投稿"
"Yoshiki"
"Horikawa"
"@yhorikawa"
"45"
"Contributions"
"1"
"フォロー"
"えんじにあ"
"さん"
"ねんめ"
"1"
"フォロワー"
"プロフィール"
"を"
"編集"
"する"

画像内の文字が認識されていますね!

まとめ

自分で実装するのは大変なOCRですが、Cloud Vision APIを使うことで簡単に実現することができました
今回は単純に画像内の文字を読み取るだけでしたが、文字の位置情報なども取れるので、できることが色々ありそうです

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?