5

我在 GCS 上有一堆图片,想知道它们是什么?

4

2 回答 2

5

对于 GCS 集成 - 我只需将上面的正文修改为通过将内容属性替换为 gcs_image_uri 来指向 GCS 位置

    batch_request = [{
    'image': {
        'source': {
            'gcs_image_uri': "gs://bucket_name/object_path"
        }
    },
    'features': [{
        'type': 'LANDMARK_DETECTION',
        'maxResults': max_results,
        }]
    }]
service = get_vision_service()
request = service.images().annotate(body={
    'requests': batch_request,
    })
response = request.execute()
于 2016-02-05T17:23:07.103 回答
2

可以通过 REST API 调用访问 Vision API。您传入一个 JSON 请求,其中包含嵌入的图像或 GCS 中图像的链接。然后,您可以传入要在图像上运行的功能。这是作为 JSON 请求传入的,响应对象包含注释。这是一段调用 Vision API 的 Python 代码。

DISCOVERY_URL='https://{api}.googleapis.com/$discovery/rest?version={apiVersion}'

credentials = GoogleCredentials.get_application_default()
service = discovery.build('vision', 'v1', credentials=credentials,
                          discoveryServiceUrl=DISCOVERY_URL)

with open(photo_file, 'rb') as image:
  image_content = base64.b64encode(image.read())    
  service_request = service.images().annotate(
    body={
      'requests': [{
        'image': {
          'content': image_content
         },
        'features': [{
          'type': 'LABEL_DETECTION',  # Feature to detect
          'maxResults': 1,
         }]
       }]
    })
  response = service_request.execute()
  label = response['responses'][0]['labelAnnotations'][0]['description']

有关其他信息,您可能希望查看标签检测教程

于 2016-02-05T01:08:44.077 回答