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を使用して、身近な写真でテキスト検出して、遊んでみてはどうでしょうか。
最後まで読んでいただき、ありがとうございます。
また、お会いしましょう。