명령줄을 사용하여 이미지에서 라벨 인식

이 페이지에서는 REST 인터페이스curl 명령어를 사용하여 Vision API에 세 가지 인식 기능 및 주석 요청을 보내는 방법을 보여줍니다.

Vision API를 사용하면 Vision 인식 기술을 개발자 애플리케이션에 간편하게 통합할 수 있습니다. Vision API에 이미지 데이터와 원하는 기능 유형을 보내면 관심 있는 이미지 속성을 기반으로 해당 응답을 반환합니다. 제공되는 기능 유형에 대한 자세한 내용은 모든 Vision API 기능 목록을 참조하세요.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Vision API:

    gcloud services enable vision.googleapis.com
  7. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/storage.objectViewer

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
    • Replace PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual role.
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. 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.

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Vision API:

    gcloud services enable vision.googleapis.com
  13. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/storage.objectViewer

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
    • Replace PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual 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

상하이 거리 이미지
이미지 크레딧: 스티브 롱, Unsplash

요청 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에 다음이 표시됩니다.

라벨 인식 결과

  1. 설명: 'People', 점수: 0.950
  2. 설명: 'Street', 점수: 0.891
  3. 설명: 'Mode of transport', 점수: 0.890
라벨 인식 결과가 포함된 상하이 거리 이미지
이미지 크레딧: 스티브 롱, Unsplash (주석 추가됨)

텍스트 인식 결과

  • 텍스트: 牛牛面馆\n
  • 꼭짓점: (x: 159, y: 212), (x: 947, y: 212), (x: 947, y: 354), (x: 159, y: 354 )
텍스트 인식 결과가 포함된 상하이 거리 이미지
이미지 크레딧: 스티브 롱, Unsplash (주석 추가됨)

객체 인식 결과

  • 이름: '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)
객체 인식 결과가 포함된 상하이 거리 이미지
이미지 크레딧: 스티브 롱, Unsplash (주석 추가됨)

수고하셨습니다. 첫 번째 요청을 Vision API로 보냈습니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 Google Cloud 프로젝트를 삭제하면 됩니다.

Optional: Revoke credentials from the gcloud CLI.

gcloud auth revoke

다음 단계

  • 모든 기능 유형과 그 용도에 대한 목록을 참조하세요.
  • Vision API 클라이언트 라이브러리를 사용하여 Vision API를 원하는 언어로 시작하세요.
  • 안내 가이드를 사용하여 특정 기능에 대해 자세히 알아보고, 예시 주석을 참조하고, 개별 파일이나 이미지에 대한 주석을 가져오세요.
  • 배치 이미지파일(PDF/TIFF/GIF) 주석에 대해 알아보세요.
  • 클라이언트 라이브러리 코드 샘플의 전체 목록을 확인하세요.