2016-02-05 21 views

risposta

5

Per GCS Integrazione - vorrei solo modificare il corpo sopra per puntare alla posizione GCS sostituendo attributo content con gcs_image_uri

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() 
2

L'API Vision è accessibile tramite una chiamata API REST. Passi in una richiesta JSON con un'immagine incorporata o un link all'immagine in GCS. È quindi possibile passare le funzionalità che si desidera eseguire sull'immagine. Questo viene passato come una richiesta JSON e l'oggetto risposta contiene le annotazioni. Ecco uno snippet di codice Python che chiama l'API Vision.

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'] 

Per ulteriori informazioni, si potrebbe voler guardare il Label Detection Tutorial