로컬 환경에서 Rekognition을 사용하여 인식 결과를 반영
9452 단어 파이썬ReKognition이미지 처리aws-cliAWS
소개
로컬 환경에서 AWS Rekognition을 사용하는 것을 목표로하고 대상 이미지도 로컬로 저장 한 것을 사용합니다.
Rekognition에서 얻은 인식 결과를 이미지에 플롯하여 배운 느낌을 낸다.
전제 조건
・AWS CLI(Command Line Interface)를 사용할 수 있는 것
macOS에 배포 설정을 여기에 표시합니다.
htps : // / cs. 아 ws. 아마존. 코 m / 그럼 _ jp / c ぃ / ㅁ st / 우세 r 굿이 / 엔 s 탓 l 마코 s. HTML
・Python이 사용할 수 있는 환경이 갖추어져 있는 것 & 이하의 커멘드로 라이브러리를 추가했습니다
pip install --upgrade boto3
pip install pillow
pip install matplotlib
(pip install PyQt5)
← 실행하지 않아도 동작하는 사람은 필요없을 것앞에서 설명했지만 3. 프로그램 이동까지 읽고 실행하십시오.
사용환경
MacBook Pro
- macOS Mojave 버전 10.14.3
- 2.7 GHz Intel Core i7
- 16GB 2133MHz LPDDR3
AWS
- CLI
- Rekognition
절차
1. AWS CLI 구성
htps : // / cs. 아 ws. 아마존. 이 m/그럼_jp/cぃ/ぁてst/うせrぐいで/cぃーちゃーpこんふぃぐれ. HTML
여기의 빠른 설정으로 설정했습니다.
2. 코드 작성
local_rekognition.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
from boto3 import client
from matplotlib import pyplot as plt
from PIL import Image
import random
def local_image_rekognition():
# "samnple.jpg"は適宜変えてください
local_image = "sample.jpg"
img = Image.open(local_image)
img_width = img.size[0]
img_height = img.size[1]
rekognition = client("rekognition", region_name='ap-northeast-1')
response = rekognition.detect_labels(
Image={
'Bytes': open(local_image, "rb").read()
},
MaxLabels=128
)
colors = {}
for label in response['Labels']:
label_name = label['Name']
if label_name not in colors:
colors[label_name] = (random.random(), random.random(), random.random())
for instance in label['Instances']:
bb = instance['BoundingBox']
rect = plt.Rectangle(
(bb['Left'] * img_width,bb['Top'] * img_height),
bb['Width'] * img_width,bb['Height'] * img_height,
fill=False,
edgecolor=colors[label_name])
plt.gca().add_patch(rect)
plt.imshow(img)
plt.show()
if __name__ == "__main__":
"""
"""
local_image_rekognition()
세세한 것을 신경쓰지 않고 쓰고 있습니다.
적절하게 함수를 분리하거나 추가하십시오.
3. 프로그램 이동
실행 명령 (mac의 terminal에서 실행)
python local_rekogniton.py
실행할 때 내가 막힌 곳과 그 해결책을 보여줍니다.코드 내 response의 내용을 가져온 이미지에 플롯하기 위해
pip install matplotlib
에서 라이브러리를 설치했지만 실행 오류가 발생했습니다.<해결책>
pip install PyQt5
rm ~/.matplotlib/matplotlibrc
echo "backend : Qt4Agg" >> ~/.matplotlib/matplotlibrc
다양한 솔루션이 인터넷에서 제시되었지만 내가 할 수있는 것은이 솔루션이었습니다.
실행 결과는 다음과 같습니다.
AWS Rekognition 사이트에서 사용되는 이미지를 사용했습니다.
같은 결과를 얻을 수 있다고 생각합니다!
참고 사이트(압도적 감사)
htps : // 코 m / 폰 스케 / ms / 15322 에 1 아 db0f3 44 94
htps : // v.ぁsss d. jp / 마치 네 - r r g / 아마 젠 - 리코 g 치 온 - p p - 가치 온 /
htps : // 코 m / 마사토미 x / ms / 03419c7 10262 18f3
Reference
이 문제에 관하여(로컬 환경에서 Rekognition을 사용하여 인식 결과를 반영), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shitsumu/items/fed77d6898060ddfccb5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)