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

AWSの画像認識AI(Amazon Rekognition)で、画像からテキスト検出するには、detect_textを使用します。

AIで画像からテキスト検出(OCR)するには【AWS】

入力画像・検出画像

1つ目が入力画像、2つ目が実際のAmazon Rekognitionのテキスト検出結果の画像です。

Pythonサンプル

import boto3

#boto3のclient作成、AWSサービス名とリージョンを指定
client = boto3.client('rekognition','ap-northeast-1')

# 画像ファイルを読み込んでバイト列を取得
with open('./タクシースポット.jpg', 'rb') as source_image:
    source_bytes = source_image.read()

# AWSへバイト列を渡し、テキスト検出結果を受け取る
response = client.detect_text(Image={ 'Bytes': source_bytes })

# テキスト検出結果を表示
print('検出テキスト:' + response['TextDetections'][0]['DetectedText'])

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

実行結果

検出テキスト:TAXI

入力画像のTAXIの文字を、しっかり検出できています。

 

ゼッケン番号の検出例(上記のPythonサンプル)【AWS】

では他の画像でも、正しくテキスト検出できるのでしょうか?
ゼッケン番号の画像での検出例を、見てみましょう。

入力画像・検出画像

ゼッケンをつけたヤギの写真です。
ヤギレースといえば、阿蘇のミルク牧場でヤギレースが開催されているそうです。

1つ目が入力画像、2つ目が参考用のAmazon Rekognitionで実際にテキスト検出した画像です。

検出結果

検出テキスト:2

入力画像のヤギのゼッケン:2番を、正しく検出できています。
ゼッケン番号の検出にも、問題なく使えそうですね!

 

Pythonサンプル使用の前提

・AWSアカウント作成済み
・AWSキー情報を、自分のPCに初期設定済み

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

 

まとめ

Amazon Rekognitionで、画像からテキスト検出する方法を解説しました。

しかしながら、Amazon Rekognitionでは、2022年5月現在は、日本語に公式では未対応のようです。
日本語にも対応すると、いろいろと活用の幅が広がりそうですね。

みなさんもAmazon Rekognitionを使用して、身近な写真でテキスト検出して、遊んでみてはどうでしょうか。

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

 

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