Ho un sacco di foto su GCS e vorrei capire cosa sono?Come si chiama l'API di Google Vision con un'immagine memorizzata in Google Cloud Storage?
5
A
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