使い方などはこちら
https://hacknote.jp/archives/40229/
テキストの抽出
使い方は上記でわかったので、次は画像からテキストを抽出してみます。
SDKも使えますが、今回はAWS 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パターン行ってくれます。 ←便利!
フォントじゃなくてイラストでもしっかりと認識していてビックリです、、、!