Amazon Rekognitionでローカルファイルの画像からテキストを検出してみた
5212 ワード
やったこと
- Amazon Rekognitionでローカルファイルの画像からテキストを検出
- rubyで叩いた
ここで書かないこと
- rubyで叩くようにするまでの準備(アカウント作る〜SDKインストール)
ソースと画像を用意
画像
- rubyで叩くようにするまでの準備(アカウント作る〜SDKインストール)
ソースと画像を用意
画像
こんなのを用意
ソース
基本的に公式ドキュメントに叩き方の例はのっているのでそこを参考にした
(リージョンは~/.aws/configに設定)
get_text.rb
require 'aws-sdk-rekognition'
credentials = Aws::Credentials.new(
'xxxxxxxxxxxxx',
'xxxxxxxxxxxxxx'
)
client = Aws::Rekognition::Client.new credentials: credentials
photo = 'text.png'
path = File.expand_path(photo)
file = File.read(path)
attrs = {
image: {
bytes: file
},
}
response = client.detect_text attrs
response.text_detections.select! { |text| text.type == 'LINE' }
response.text_detections.each do |text|
p text.detected_text
end
実行結果
$ ruby get_text.rb
"ABCDE"
"12345"
"EGHT]"
"6789"
取れたー
補足
text_detections
には検出した行と単語を入れてくれるらしく、今回の画像だと行として"ABCDE"が入っているのと同時に単語として"ABCDE"が入っていた。
(selectでLINEだけにしているのはそのため)
レスポンス表示を少し変えて
response = client.detect_text attrs
response.text_detections.each do |text|
p "type:#{text.type} text:#{text.detected_text}"
end
実行してみるとこんな感じ
$ ruby get_text.rb
"type:LINE text:Hello World!"
"type:LINE text:This is a pen"
"type:WORD text:Hello"
"type:WORD text:World!"
"type:WORD text:This"
"type:WORD text:is"
"type:WORD text:a"
"type:WORD text:pen"
お手軽ですごい!
Author And Source
この問題について(Amazon Rekognitionでローカルファイルの画像からテキストを検出してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/nishioha/items/c563181d3761635a754e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .