명령줄을 사용하여 이미지에서 라벨 인식
이 페이지에서는 REST 인터페이스 및 curl
명령어를 사용하여 Vision API에 세 가지 인식 기능 및 주석 요청을 보내는 방법을 보여줍니다.
Vision API를 사용하면 Vision 인식 기술을 개발자 애플리케이션에 간편하게 통합할 수 있습니다. Vision API에 이미지 데이터와 원하는 기능 유형을 보내면 관심 있는 이미지 속성을 기반으로 해당 응답을 반환합니다. 제공되는 기능 유형에 대한 자세한 내용은 모든 Vision API 기능 목록을 참조하세요.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Vision API:
gcloud services enable vision.googleapis.com
-
Google 계정에 역할을 부여합니다. 다음 각 IAM 역할에 대해 다음 명령어를 한 번씩 실행합니다.
roles/storage.objectViewer
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
PROJECT_ID
를 프로젝트 ID로 바꿉니다.EMAIL_ADDRESS
를 이메일 주소로 바꿉니다.ROLE
을 각 개별 역할로 바꿉니다.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Vision API:
gcloud services enable vision.googleapis.com
-
Google 계정에 역할을 부여합니다. 다음 각 IAM 역할에 대해 다음 명령어를 한 번씩 실행합니다.
roles/storage.objectViewer
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
PROJECT_ID
를 프로젝트 ID로 바꿉니다.EMAIL_ADDRESS
를 이메일 주소로 바꿉니다.ROLE
을 각 개별 역할로 바꿉니다.
이미지 주석 요청하기
시작하기 전에 단계를 완료한 후에 Vision API를 사용하여 이미지 파일에 주석을 추가할 수 있습니다.
이 예시에서는 curl을 사용해 Vision API에 다음 이미지를 사용하는 요청을 보냅니다.
Cloud Storage URI:
gs://cloud-samples-data/vision/using_curl/shanghai.jpeg
HTTPS URL:
https://console.cloud.google.com/storage/browser/cloud-samples-data/vision/using_curl/shanghai.jpeg
![상하이 거리 이미지](https://cloud.google.com/static/vision/docs/images/shanghai_small.jpeg?hl=ko)
요청 JSON 만들기
다음 request.json
파일에서 3가지 images:annotate
기능을 요청하고 응답에서 결과를 제한하는 방법을 보여줍니다.
다음 텍스트로 JSON 요청 파일을 만들고 작업 디렉터리에 request.json
일반 텍스트 파일로 저장합니다.
request.json
{ "requests": [ { "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/using_curl/shanghai.jpeg" } }, "features": [ { "type": "LABEL_DETECTION", "maxResults": 3 }, { "type": "OBJECT_LOCALIZATION", "maxResults": 1 }, { "type": "TEXT_DETECTION", "maxResults": 1, "model": "builtin/latest" } ] } ] }
요청 전송
request.json
의 curl 및 본문 콘텐츠를 사용하여 Vision API에 요청을 보냅니다. 명령줄에 다음을 입력합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ -H "Content-Type: application/json; charset=utf-8" \ https://vision.googleapis.com/v1/images:annotate -d @request.json
응답 해석
다음과 유사한 JSON 응답이 표시됩니다.
요청 JSON 본문에서는 각 주석 유형에 대해 maxResults
를 지정했습니다.
따라서 응답 JSON에 다음이 표시됩니다.
labelAnnotations
결과 3개textAnnotations
결과 1개(명확성을 위해 축약됨)localizedObjectAnnotations
결과 1개
라벨 인식 결과
- 설명: 'People', 점수: 0.950
- 설명: 'Street', 점수: 0.891
- 설명: 'Mode of transport', 점수: 0.890
![라벨 인식 결과가 포함된 상하이 거리 이미지](https://cloud.google.com/static/vision/docs/images/shanghai_labels.png?hl=ko)
텍스트 인식 결과
- 텍스트: 牛牛面馆\n
- 꼭짓점: (x: 159, y: 212), (x: 947, y: 212), (x: 947, y: 354), (x: 159, y: 354 )
![텍스트 인식 결과가 포함된 상하이 거리 이미지](https://cloud.google.com/static/vision/docs/images/shanghai_text.png?hl=ko)
객체 인식 결과
- 이름: 'Person', 점수: 0.944
- 정규화된 꼭짓점: (x: 0.260, y: 0.468), (x: 0.407, y: 0.468), (x: 0.407, y: 0.895), (x: 0.260, y: 0.895)
![객체 인식 결과가 포함된 상하이 거리 이미지](https://cloud.google.com/static/vision/docs/images/shanghai_object.png?hl=ko)
수고하셨습니다. 첫 번째 요청을 Vision API로 보냈습니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 Google Cloud 프로젝트를 삭제하면 됩니다.
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke