AWSのIAM的な認証情報を作らないといけないようなので、よしなに作ります。Engineでやるとどうやらいろいろ楽だったらしいのですが、画像も含めて一旦ローカルで完結させたいので「いいえ」にしておきました。ここまで終わると、認証情報を記したjsonファイルがダウンロード出来るので、忘れずにダウンロードしておきます。PHPで書いてみた私が一番使い慣れてるのがPHPなので、PHPで書いてみます。PHPから使用するためのクライアントライブラリがGoogleから提供されているので、それを使用してみます。https://cloud.google.com/vision/docs/libraries#client-libraries-install-php↑で記述されている通りに書いてみましょう。composerでクライアントを導入composerで入れます。google/cloud-vision認証周り環境変数に先程のjsonのパスを書くと、そこから認証情報を読み込むようなので、大人しく従います。GOOGLE_APPLICATION_CREDENTIALS="さっき落としてきたJSONのフルパス"準備はこれだけ。コードドキュメントを参考に、とりあえず書いてみました。$annotation->fullText()->text();var_dump($txt);上記のコードで、1枚写真を読み込んでみます。駅の標識まずは先日京都に行った際に撮った、京都駅奈良線ホームの駅標識で試してみます。この写真で先のプログラムを実行してみた結果はコレです。40-40493鹵?合tin"めっちゃ拾ってんな。思った以上に細かい文字をたくさん拾ってますね。駅名の下に、ちらっと駅の構内図や、時刻表が写っているのですが、そこの文字も細かく拾ってるようです。例1から情報量を落としてみる写ってる文字の量が多過ぎるのがいけないのかもしれません。写ってる文字の量を減らしてみましょう。교토とうふくじTofukuji도후쿠지东福寺"今度はちゃんと駅名も拾ったやっぱり拾わないといけない文字量が多過ぎると結果に影響するのかもしれないJRがURになるのは、まあ仕方ないTEXT_DETECTIONで検証しているが、LOGO_DETECTIONだったら?京の誤検出と思しき显を除いて、ほぼ問題なく認識出来ている一番検出して欲しいものに専念させると、比較的いい結果になるんじゃないか、と思える結果になっています。JRのロゴを認識出来るかところで例2では、JRのロゴをURと誤検出していました。した文字ではないので、これは仕方ないです。LOGO_DETECTIONという、企業ロゴに特化したモードがあるようなので、これ使ったらどんな結果になるのか、見てみようと思います。文字認識ではないので、OCRとは話が逸れてしまいますが。$vision->image()以降を以下のようにして、同じ画像で試してみます。./img/IMG_6506_mini.jpegNULLでは、ロゴだけ切り抜いたらどうなるでしょうか。"Twitter"残念ながらJRは検出出来ませんでしたが、アメリカの大手企業とかはちゃんと検出出来るので、使い道は普通にありそうです。定番ですが、自分でも結果を見てみたかったのでやってみます。領収書その2レシート形式の普通の領収書でもやってみます。1名ぜひご意見をお聞かせください!アンケートはこちらから"びっくりするぐらい綺麗に検出してる。APIにはDOCUMENT_TEXT_DETECTIONという、もう少し検出精度が高いけど、お値段も高い、というものも存在しています。これもせっかくなのでやってみます。店前にある、建物についての看板がちょうど良い例になりました。['DOCUMENT_TEXT_DETECTION']);まず、TEXT_DETECTIONのまま実行した結果がこちら。安政元年(一八五四)創業の茶商です。中期の建物で、玄関から右側がお茶を製造する焙炉場、左側が主屋でした。蔵が建てられています。et芬、表s焙炉場は事務所やお茶の詰め場に変化し、改されながら使われてきました。文化的景観」の重要構成要素に指定されています。"DOCUMENT_TEXT_DETECTIONに切り替えた結果がこちら。安政元年(一八五四)創業の茶商です。中期の建物で、玄関から右側がお茶を製造する焙炉場、左側が主屋でした。奥には中度が造られ、茶室やエ満が建てられています。修されながら使われてきました。「新しい茶工場が建ち、表の焙炉場はこの辺りがだいぶ違います。文字の検出精度がさらに高くなってますね。話にはすごいと聞いていましたが、レシートとかこんなに綺麗に検出出来るのか!というのは少しびっくりでした。例1において京都が拾えなかった例のように、得意不得意はありそう2ですが、用途がハマればうまく使えそうです。model」を使用して、この結果でした。自身で学習パターンを作ると思しき、左側でうまいことチューニングしていくとまた結果が変わるのかもしれません。困ったことクライアントが2種類あるhttps://googleapis.github.io/google-cloud-php/#/docs/google-cloud/v0.88.0/vision/imagehttps://googleapis.github.io/google-cloud-php/#/docs/google-cloud/v0.88.0/vision/v1/imageannotatorclientなんか書き方が2種類あるPHPクライアントのページに書いてあるのはV1の方でした。V1で括ってるからにはそっちが古いんだろう、と勝手に推測しているのですが、この辺どっちが正しいんでしょう?PHPクライアントのページの内容が古いんだと信じたい。今回はV1ではない、前者の方を参考にして書きました。画像認識に使用した例として掲載している写真は、Qiita掲載にあたって、サイズを適当に縮小した上でjpgで保存し直していますので、同じ写真で試されても同じ結果にはなりません。iPadで撮った写真デカ過ぎ。↩Qiitaには画像が載せられないので載せていませんが、例えばアニメの画像の中の文字列など、うまく拾えないものはありました。今の仕事ではRails。そんなエンジニアです。upLoginユーザーは見つかりませんでした。