AI에 크래피를 보여주면 무엇을 생각하는지 (Azure의 이미지 분석 API입니다)
소개
#클래피챌린지 Advent Calendar 2020 8일째의 기사입니다.
크래피가 손에 들지 않기 때문에 과거에 촬영한 크래피의 이미지를 Azure Computer Vision의 이미지 분석 API에 던져 보았습니다. 이미지 분석 API를 사용하면 이미지의 설명문을 생성합니다.
HoloLens2에서도 이런 기사 「 HoloLens2 × Azure Cognitive Services(이미지 분석 API로 이미지 설명문 생성) 」를 쓰고 있으므로 봐 주세요.
개발 환경
소개
이미지 분석 API에 던지는 Python 프로그램은 다음과 같습니다. Azure 포털에서 Computer Vision API를 만들고 엔드포인트와 키를 복사합니다.
analyze.pyimport os
import sys
import requests
# If you are using a Jupyter notebook, uncomment the following line.
# %matplotlib inline
import matplotlib.pyplot as plt
from PIL import Image
from io import BytesIO
import os
subscription_key = "<Insert Your API Key>"
endpoint = "https://<Insert Your Resource Name>.cognitiveservices.azure.com/"
analyze_url = endpoint + "vision/v3.1/analyze"
# Set image_path to the local path of an image that you want to analyze.
# Sample images are here, if needed:
# https://github.com/Azure-Samples/cognitive-services-sample-data-files/tree/master/ComputerVision/Images
dirname = "clappy/"
files = os.listdir(dirname)
for file in files:
# Read the image into a byte array
image_data = open(dirname + file, "rb").read()
headers = {'Ocp-Apim-Subscription-Key': subscription_key,
'Content-Type': 'application/octet-stream'}
params = {'visualFeatures': 'Categories,Description,Color'}
response = requests.post(
analyze_url, headers=headers, params=params, data=image_data)
response.raise_for_status()
# The 'analysis' object contains various fields that describe the image. The most
# relevant caption for the image is obtained from the 'description' property.
analysis = response.json()
print(analysis)
image_caption = analysis["description"]["captions"][0]["text"].capitalize()
# Display the image and overlay it with the caption.
image = Image.open(BytesIO(image_data))
fig = plt.figure()
plt.imshow(image)
plt.axis("off")
_ = plt.title(image_caption, size="x-large", y=-0.1)
# plt.show()
fig.savefig("result/"+file)
실행
요약
비교적 정확하게 toy였다.
Reference
이 문제에 관하여(AI에 크래피를 보여주면 무엇을 생각하는지 (Azure의 이미지 분석 API입니다)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SatoshiGachiFujimoto/items/d29efcb5efe13ecd1d6f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import os
import sys
import requests
# If you are using a Jupyter notebook, uncomment the following line.
# %matplotlib inline
import matplotlib.pyplot as plt
from PIL import Image
from io import BytesIO
import os
subscription_key = "<Insert Your API Key>"
endpoint = "https://<Insert Your Resource Name>.cognitiveservices.azure.com/"
analyze_url = endpoint + "vision/v3.1/analyze"
# Set image_path to the local path of an image that you want to analyze.
# Sample images are here, if needed:
# https://github.com/Azure-Samples/cognitive-services-sample-data-files/tree/master/ComputerVision/Images
dirname = "clappy/"
files = os.listdir(dirname)
for file in files:
# Read the image into a byte array
image_data = open(dirname + file, "rb").read()
headers = {'Ocp-Apim-Subscription-Key': subscription_key,
'Content-Type': 'application/octet-stream'}
params = {'visualFeatures': 'Categories,Description,Color'}
response = requests.post(
analyze_url, headers=headers, params=params, data=image_data)
response.raise_for_status()
# The 'analysis' object contains various fields that describe the image. The most
# relevant caption for the image is obtained from the 'description' property.
analysis = response.json()
print(analysis)
image_caption = analysis["description"]["captions"][0]["text"].capitalize()
# Display the image and overlay it with the caption.
image = Image.open(BytesIO(image_data))
fig = plt.figure()
plt.imshow(image)
plt.axis("off")
_ = plt.title(image_caption, size="x-large", y=-0.1)
# plt.show()
fig.savefig("result/"+file)
요약
비교적 정확하게 toy였다.
Reference
이 문제에 관하여(AI에 크래피를 보여주면 무엇을 생각하는지 (Azure의 이미지 분석 API입니다)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SatoshiGachiFujimoto/items/d29efcb5efe13ecd1d6f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AI에 크래피를 보여주면 무엇을 생각하는지 (Azure의 이미지 분석 API입니다)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SatoshiGachiFujimoto/items/d29efcb5efe13ecd1d6f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)