- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 프로그래밍
- 대학시험
- 파이썬 알고리즘
- 알고리즘
- 파이썬 강의
- 파이썬활용
- 파이썬
- c언어
- selenium
- 코딩문제
- 면접 파이썬
- 파이썬 자료구조
- 자료구조
- gdrive
- 크롤링
- 코딩시험
- 채용문제
- 파이썬 강좌
- 기말시험
- python data structure
- 알고리즘 강의
- 중간시험
- python 중간고사
- 셀레니움
- 파이썬3
- Crawling
- 자료구조 강의
- 쉬운 파이썬
- 알고리즘 강좌
- 파이썬 입문
반원 블로그
[파이썬 레시피 - 웹 활용 입문편] 04. REST API - C. 네이버 얼굴 이미지 인식 API(CFR API) 본문
[파이썬 레시피 - 웹 활용 입문편] 04. REST API - C. 네이버 얼굴 이미지 인식 API(CFR API)
반원_SemiCircle 2019. 6. 22. 12:32CFR API
Clova Face Recognition API는 이미지 데이터에서 얼굴 인식 결과를 알려줍니다. 또한 요청 URL만 조금 바꾸면 닮은 꼴 연예인을 알려주는 서비스를 이용할 수 있습니다.
기본 예제
친절하게도 파이썬 예제를 제공합니다.
https://developers.naver.com/docs/clova/api/CFR/API_Guide.md#Python
아쉽게도 코드 주석이 #대신 //로 되서 오류가 나지만 간단하니 고쳐줍시다.
또한 client_id와 client_secret에서 이전 [B. 네이버 개발자 등록]에서 발급받은 값을 넣어줍시다.
코드 중간에 open함수에 파일명을 적는 곳이 있습니다. 파이썬과 같은 위치에 이미지 파일을 옮겨놓고, 코드에 파일명을 적을 때는 확장자까지 대소문자를 구분해서 입력합시다. (예 : test.png)
모든 준비가 됐다면 실행해보시면 되겠습니다.
import os
import sys
import requests
client_id = "발급받은ID"
client_secret = "발급받은Secret"
url = "https://openapi.naver.com/v1/vision/face" # 얼굴감지
# url = "https://openapi.naver.com/v1/vision/celebrity" # 유명인 얼굴인식
files = {'image': open('파일명', 'rb')}
headers = {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret }
response = requests.post(url, files=files, headers=headers)
rescode = response.status_code
if(rescode==200):
print (response.text)
else:
print("Error Code:" + rescode)
응답 데이터 활용
응답데이터의 구성정보는 여기서 확인할 수 있습니다. 아직은 보기 어렵지만 아래 영역에 "응답 예"와 비교하면 충분히 이해할 수 있습니다.
https://developers.naver.com/docs/clova/api/CFR/API_Guide.md#%EC%9D%91%EB%8B%B5-2
현재 응답받은 데이터(response)의 text 속성으로 결과를 확인할 수 있습니다. 출력결과를 보니 구조가 딕셔너리형(dict)과 유사한데, 이는 JSON이라는 형식으로 쓰여진 문자열입니다. 이 단순 문자열을 의미있는 데이터로 바꿔봅시다.
JSON형식 문자열은 json모듈의 loads함수를 통해 변환할 수 있습니다. 모듈을 참조하고 이를 간단히 활용하도록 코드를 작성해봅시다.
import os
import sys
import requests
import json
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
url = "https://openapi.naver.com/v1/vision/face" # 얼굴감지
# url = "https://openapi.naver.com/v1/vision/celebrity" # 유명인 얼굴인식
files = {'image': open('YOUR_FILE_NAME', 'rb')}
headers = {'X-Naver-Client-Id': client_id, 'X-Naver-Client-Secret': client_secret }
response = requests.post(url, files=files, headers=headers)
rescode = response.status_code
if(rescode==200):
# print (response.text)
data = json.loads(response.text)
faceCount = data['info']['faceCount']
print("감지된 얼굴 수는 {}입니다.".format(faceCount))
else:
print("Error Code:" + rescode)
처리한도
현재 처리한도는
- 사진크기 : 2MB
- 하루에 1000건
입니다.
'2018~ > 파이선 레시피 웹 활용 입문편' 카테고리의 다른 글
[파이썬 레시피 - 웹 활용 입문편] 05. 구글 드라이브 - C. 구글 드라이브 업로드 (0) | 2019.06.29 |
---|---|
[파이썬 레시피 - 웹 활용 입문편] 05. 구글 드라이브 - B. gdrive 인증 및 초기화 (0) | 2019.06.29 |
[파이썬 레시피 - 웹 활용 입문편] 05. 구글 드라이브 - A. gdrive 설치 (0) | 2019.06.29 |
[파이썬 레시피 - 웹 활용 입문편] 04. REST API - D. 네이버 파파고 API (0) | 2019.06.22 |
[파이썬 레시피 - 웹 활용 입문편] 04. REST API - B. 네이버 개발자 등록 (0) | 2019.06.22 |
[파이썬 레시피 - 웹 활용 입문편] 04. REST API - A. requests 설치 (0) | 2019.06.22 |
[파이썬 레시피 - 웹 활용 입문편] 03. 메일 - C. 네이버 메일 보내기 (0) | 2019.06.15 |
[파이썬 레시피 - 웹 활용 입문편] 03. 메일 - B. 구글 메일 파일 첨부 (0) | 2019.06.15 |