mage analysis : 사진에 무엇이 있는지 분석
<사진 임포트>
1. 필요한 모듈들 임포트
import requests # 사진임포트 위해 리퀘스트 모듈 임포트
from io import BytesIO # 16진수 바이트로 재조립하여 나오게하는 모듈
from PIL import Image # 바이츠를 이미지로 출력해주는 모듈
2. 이미지 주소 붙여넣고 이미지 url 정상인지 확인,
image_URL = 'https://img.sbs.co.kr/newimg/news/20220530/201668602_1280.jpg'
#image = Image.open(BytesIO(requests.get(image_url).content)) #아래 과정들을 이 한줄로 요약 가능하다
response = requests.get(image_URL) # 구글에서 복사한 이미지 주소, 200 나오면 정상
response.content # 앞에 나온 x는 텍스트가 아닌 바이너리파일이라 16진수로 표시된다, 바이트로 재조립하여 사진으로 나오게하는 작업 필요, 이때 from io in BytesIO라는 모듈 필요
img = BytesIO(response.content) # 16진수 바이츠로 재조립함
image = Image.open(img) # 바이츠를 이미지로 재조림
image # 이미지 출력
-이 과정에서 사진이 출력이 잘되어야 한다-

3. azure에서 생성한 서비스 키와 앤드포인트(주소) , 어떤 버전의 컴퓨터비전을 사용할지, 클라우드 접속에 필요한 정보를 작성
key = '5796dccc8691492e88f92758dde9b2f2'
endpoint = 'https://labuser69computervision2.cognitiveservices.azure.com/' + 'vision/v2.0/' #azure에서 생성한 서비스 키와 앤드포인트(주소)+어떤 서비스 버전
4. 이미지 분석 기능을 쓸 거다
analyze_endpoint = endpoint + 'analyze'
5. 웹을 이용한 function에 필요한 3가지 속성을 변수에 넣어 정리
header = {'Ocp-Apim-Subscription-Key': key} #헤더에 키값을 주겠다
params = {'visualFeatures': 'Categories,Description,Color'} # 카테고리 나누고, 설명하고 칼라값 주라는 뜻
data = {'url':image_URL} # 이미지 url
6. 클라우드에 발사!
response = requests.post(analyze_endpoint,
headers=header,
params=params,
json=data)
7. 이제 결과를 json 파일로 저장하고나서 출력해보면 결과가 나온다
result = response.json()
result
출력>
{'categories': [],
'color': {'dominantColorForeground': 'Grey',
'dominantColorBackground': 'Black',
'dominantColors': ['Grey', 'Black', 'Brown'],
'accentColor': '4C5D2A',
'isBwImg': False,
'isBWImg': False},
'description': {'tags': ['dog',
'mammal',
'animal',
'sitting',
'small',
'grass',
'looking',
'cat',
'front',
'standing',
'table',
'little',
'brown',
'laying',
'sheep'],
'captions': [{'text': 'a cat sitting next to a dog',
'confidence': 0.70557170301425}]},
'requestId': 'b8300a15-c44f-4820-865c-204cf30dedf9',
'metadata': {'height': 720, 'width': 1280, 'format': 'Jpeg'}}