import io import os import asyncio # Imports the Google Cloud client library from google.cloud import vision #we set the env variable GOOGLE_APPLICATION_CREDENTIALS to the path of the json file os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "./../database/google-vision/botator-vision-8cd1030a7541.json" # Instantiates a client client = vision.ImageAnnotatorClient() # The name of the image file to annotate file_name = os.path.abspath('./../database/google-vision/label.jpg') print(file_name) # Loads the image into memory with io.open(file_name, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) # Performs label detection on the image file #response = client.label_detection(image=image) #labels = response.label_annotations #print('Labels:') #for label in labels: # print(label.description) async def get_labels(image): response = client.label_detection(image=image) labels = response.label_annotations return labels async def get_text(image): response = client.text_detection(image=image) texts = response.text_annotations return texts #now we print the labels async def main(): labels = await get_labels(image) print('Labels:') for label in labels: print(label.description) texts = await get_text(image) print('Texts:') for text in texts: print(text.description) #now we run the main function if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main())