GoogleのAI画像認識で、テキスト検出(OCR)するには【Python】

Googleの画像認識AI(Vision API)で、画像からテキスト検出するには、text_detectionを使用します。
英語・日本語の両方を抽出可能です。

画像からテキスト検出(OCR)するには【Google Cloud】

入力画像・検出画像

1つ目が入力画像、2つ目が参考用のGoogleのVision APIのテキスト検出結果の画像です。

Pythonサンプル

from google.cloud import vision
from google.oauth2 import service_account
import io

# 身元証明書のjson読み込み
credentials = service_account.Credentials.from_service_account_file('key.json')
client = vision.ImageAnnotatorClient(credentials=credentials)

# ローカル画像を読み込み、imageオブジェクト作成
with io.open("./input1.jpg", 'rb') as image_file:
    content = image_file.read()
image = vision.Image(content=content)

# Cloud Vision APIにアクセスして、テキスト検出結果を受け取り表示
response = client.text_detection(image=image)
print(response.text_annotations[0].description)

入力画像内のテキストを検出して表示するPythonサンプルです。
Google Cloudから検出結果をjsonで受け取り、そのjson内のテキストデータを表示しています。

実行結果

TAXI

タクシースポットのTAXIの文字を検出できています。

 

文章などの、長文テキストを検出するには【Google Cloud】

画像内の長文テキストを検出するには、document_text_detectionを使用します。
こちらは、より長文テキストの抽出に、最適化された画像認識AIです。

入力画像・検出画像

1つ目が入力画像、2つ目が参考用のGoogleのVision APIのテキスト検出結果の画像です。

Pythonサンプル

from google.cloud import vision
from google.oauth2 import service_account
import io

# 身元証明書のjson読み込み
credentials = service_account.Credentials.from_service_account_file('key.json')
client = vision.ImageAnnotatorClient(credentials=credentials)

# ローカル画像を読み込み、imageオブジェクト作成
with io.open("./input1.jpg", 'rb') as image_file:
    content = image_file.read()
image = vision.Image(content=content)

# Cloud Vision APIにアクセスして、長いテキストの抽出結果をjsonで受け取り表示
response = client.document_text_detection(image=image)
print(response.text_annotations[0].description)

入力画像の長文テキストを抽出して表示するPythonサンプルです。

実行結果

グライダー
勉強したいと思う。すると、まず、学校へ行くことを考える。 学校の生徒のことではな
い。いい年をした大人が、 である。こどもの手が離れて主婦に時間ができた、もう一度勉強
をやりなおしたい。 ついては、大学の聴講生にしていただけないか、という相談をもって母
校を訪れる。実際の行動には移さないまでも、そうしたいと思っている人はたくさんあるら
しい。
家庭の主婦だけのことではない。新しいことをするのだったら、学校がいちばん。年齢、
性別に関係なくそう考える。学ぶには、まず教えてくれる人が必要だ。これまでみんなそう
思ってきた。学校は教える人と本を用意して待っている。そこへ行くのが正統的だ、となる
のである。
たしかに、学校教育を受けた人たちは社会で求める知識をある程度身につけている。世の
中に知識を必要とする職業が多くなるにつれて、学校が重視されるようになるのは当然であ

書籍の長文でも、かなり正確に抽出できています。

 

抽出結果をtxtファイルにするには【Google Cloud】

以下の記事にまとめています。よろしければ、ご確認ください。

関連記事

Googleの画像認識AI(Vision API)で、画像内のテキスト検出(OCR)した結果をテキストファイルにするには、text_detectionを使用します。 テキスト検出結果をテキストファイルにするには 入力画像・検出画像 下[…]

 

Pythonサンプル使用の前提

・Google Vision APIを有効に初期設定済み
・Google Vision APIのサービスアカウントキーファイル(json)を、自分のPCにダウンロード済み

上記の準備の上、ご使用ください。

 

まとめ

Googleの画像認識AIで、画像からテキスト検出する方法を解説しました。

ちなみに、AWSの画像認識AIは、2022年5月現在、日本語に公式では未対応のようです。
Google Cloudの画像認識AIは、日本語に公式で対応しているので、いろいろと活用の幅が広がりそうですね。

関連記事

AWSの画像認識AI(Amazon Rekognition)で、画像からテキスト検出するには、detect_textを使用します。 AIで画像からテキスト検出(OCR)するには【AWS】 入力画像・検出画像 1つ目が入力画像、[…]

 

みなさんもGoogleの画像認識AIを使用して、身近な写真でテキスト検出して、遊んでみてはどうでしょうか。

最後まで読んでいただき、ありがとうございます。
また、お会いしましょう。

 

【もくじ】AmazonやGoogleのAIサービス・逆引きリファレンス