-
Notifications
You must be signed in to change notification settings - Fork 1
/
labels.py
38 lines (26 loc) · 1012 Bytes
/
labels.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from flask import Flask,request
import io
import os
import requests
import json
# Imports the Google Cloud client library
from google.cloud import vision_v1
from google.oauth2 import service_account
from google.protobuf.json_format import MessageToDict
from google.cloud.vision import AnnotateFileRequest
import proto
def label(img_uri,client):
image = vision_v1.types.Image() #Image Object
print("img_uri passed: ")
print(img_uri)
image.source.image_uri = img_uri #To get image from img_link
response = client.label_detection(image=image) #Detect Labels
print("response: ")
print(response)
serializable_tags = [proto.Message.to_dict(tag) for tag in response.label_annotations] #Convert object to list type
print("labels for each image")
print(serializable_tags)
tags_list = [i['description'] for i in serializable_tags] #Get only description from list
print("tags list :")
print(tags_list)
return {'tags':tags_list}