├── README.md ├── pexels-photo-248797.jpeg └── tag.py /README.md: -------------------------------------------------------------------------------- 1 | # Automatic-Tags-Generator-for-Images 2 | It's a python script used to generate tags for a picture automatically using Google Vision API's label detection. 3 | 4 | ### Usage- 5 | **python tag.py <API-KEY-FOR-GOOGLE-VISION-API> <IMAGE-URL> <OUTPUT-FILE-PATH>** 6 | 7 | *api-key for Google's Cloud Vision API can be generated by signing up at console.google.com and then enabling Cloud Vision API and generating credentials under 'API & Services'.* 8 | 9 | **Example** - 10 | *python tag.py 12312341244241241241241 https://static.pexels.com/photos/248797/pexels-photo-248797.jpeg tags.txt* 11 | 12 | **Input Image -** 13 | ![Coastal Beach Image](https://github.com/purvil12c/Automatic-Tags-Generator-for-Images/blob/master/pexels-photo-248797.jpeg) 14 | 15 | **Output stored in tags.txt** - 16 | *#sea #coastalandoceaniclandforms #tropics #sky #caribbean #shore #azure #ocean #beach #coast* 17 | -------------------------------------------------------------------------------- /pexels-photo-248797.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/purvil12c/Automatic-HashTags-Generator-for-Images/7fae80bed5f49b015fc172510e466016bb3018e0/pexels-photo-248797.jpeg -------------------------------------------------------------------------------- /tag.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import sys 3 | url='https://vision.googleapis.com/v1/images:annotate?key='+sys.argv[1] 4 | #print url 5 | data='''{ 6 | "requests": [ 7 | { 8 | "features": [ 9 | { 10 | "type": "LABEL_DETECTION" 11 | } 12 | ], 13 | "image": { 14 | "source": { 15 | "imageUri": "PUT_URL_HERE" 16 | } 17 | } 18 | } 19 | ] 20 | } ''' 21 | data=data.replace("PUT_URL_HERE", sys.argv[2]) 22 | #print data 23 | response = requests.post(url, data=data) 24 | file_out = open(sys.argv[3],"w+") 25 | output_str="" 26 | response = response.json() 27 | responses = response['responses'] 28 | #print response 29 | for response in responses: 30 | labels = response['labelAnnotations'] 31 | for label in labels: 32 | output_str+="#" 33 | output_str+=label['description'].replace(' ','') 34 | output_str+=" " 35 | file_out.write(output_str) 36 | --------------------------------------------------------------------------------