LoginSignup
3
1

More than 3 years have passed since last update.

GCPのVision APIを使って画像の文字認識(OCR)をやってみる

Posted at

実務で使う機会があったので備忘録。
軽めのハンズオン。

Vison APIって?

Google Cloud Platform(GCP)が提供しているAPI

AutoML Vision を使用してクラウド内またはエッジにある画像から有用な情報を引き出し、事前トレーニング済みの Vision API モデルを活用して感情を検知し、テキストを理解できます。

らしいです。
詳しくはこちら

セットアップ

GCPの登録やAPIのセットアップはこの記事を参考にしました。
Google Cloud Visionを使ってみた

コードを書く

公式ドキュメントが充実しているのでかなり参考になりました。
Cloud Vision API ドキュメント

今回はPHPを使用します。

$composer require google/cloud-vision
まずはcomposerで公式から配布されているクライアントパッケージをインストールします。

このクライアントを使ってVision APIを呼び出す場合には 環境変数に認証情報を設定する必要があります。
$export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_KEY_FILE
セットアップ時にダウンロードしたキーを設定しておきましょう。

コードはサンプルを改変しつつこんな感じです。

<?php
require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\Vision\VisionClient;

$vision = new VisionClient();

$file_name = "sample.jpg";

$resource = file_get_contents($file_name);
$image = $vision->image($resource, ['TEXT_DETECTION']);
$annotation = $vision->annotate($image);

$text = $annotation->fullText()->text();

var_dump($text);

画像を投げてみる

実際に試してみます。
今回投げる画像はこちら。
IMG_20190918_174713.jpg

返ってきたテキストはこちら。

"第3版
Understand Your Data and
Be More Productive
詳説
正規表現
Jeffrey E. F. Friedl
訳
O'REILLY
株式会社ロングテール/長尾 高弘
オライリー·ジャパン
"

文章ではないため文字は散らばっていますが,単語や人名は抜けなく読み取れていますね!すごい!

まとめ

このAPIが無料で使えるのだから驚き。
さすが天下のGoogle

月1000リクエストまでなら無料,仮に超えたとしても個人で試す程度であれば数ドル程度だから全然使えます。
色々出来そうなので何か考えたいところ…

おわり。

3
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
3
1