Amazon Rekognitionで画像からテキストを抽出してみる

使い方などはこちら
https://hacknote.jp/archives/40229/

テキストの抽出

使い方は上記でわかったので、次は画像からテキストを抽出してみます。

SDKも使えますが、今回はAWS CLIを使います。

  • Amazon RekognitionのCLIのリファレンスはこちら
  • テキスト検出についてはこちら


テキスト検出のリファレンスを見ると日本語はまだ対応していないようです。

また検出できる条件などもあるので注意が必要です。

というわけで英語のテキストが写っているこちらの画像を使いたいと思います!

S3から読み込む場合

aws rekognition detect-text --image "S3Object={Bucket=BucketName,Name=ImageName}"

ローカルから読み込む場合

aws rekognition detect-text --image-bytes fileb://ImageName

レスポンス

{
    "TextDetections": [
        {
            "Geometry": {
                "BoundingBox": {
                    "Width": 0.4783376157283783,
                    "Top": 0.22333332896232605,
                    "Left": 0.3499999940395355,
                    "Height": 0.1683286428451538
                },
                "Polygon": [
                    {
                        "Y": 0.22333332896232605,
                        "X": 0.3499999940395355
                    },
                    {
                        "Y": 0.22585685551166534,
                        "X": 0.8283376097679138
                    },
                    {
                        "Y": 0.39418551325798035,
                        "X": 0.8274495601654053
                    },
                    {
                        "Y": 0.39166197180747986,
                        "X": 0.34911197423934937
                    }
                ]
            },
            "Confidence": 98.01078796386719,
            "DetectedText": "English",
            "Type": "LINE",
            "Id": 0
        },
        {
            "Confidence": 98.01078796386719,
            "Geometry": {
                "BoundingBox": {
                    "Width": 0.47834494709968567,
                    "Top": 0.22333332896232605,
                    "Left": 0.3499999940395355,
                    "Height": 0.16667500138282776
                },
                "Polygon": [
                    {
                        "Y": 0.22333332896232605,
                        "X": 0.3499999940395355
                    },
                    {
                        "Y": 0.2266666740179062,
                        "X": 0.82833331823349
                    },
                    {
                        "Y": 0.3933333456516266,
                        "X": 0.8266666531562805
                    },
                    {
                        "Y": 0.3916666805744171,
                        "X": 0.3499999940395355
                    }
                ]
            },
            "DetectedText": "English",
            "ParentId": 0,
            "Type": "WORD",
            "Id": 1
        }
    ]
}

以下のようになっているので、抽出することができました!

"DetectedText": "English"

また、[Type]がLINEやWORDになってると思いますが、行での認識と単語での認識と、2パターン行ってくれます。 ←便利!



フォントじゃなくてイラストでもしっかりと認識していてビックリです、、、!

AWS構築サービスの全てをまとめた資料を公開中

ハックノート(TOWN株式会社)では、AWSの導入や構築支援を行っています。AWS導入メニューやサービス詳細、構成例や費用を掲載した資料をダウンロードできます。

AWSの新規導入やAWSへの移行を検討の際は、ぜひご参考ください。


APNコンサルティングパートナー

TOWN株式会社はAmazon公認コンサルティングパートナーです。