示例#1
0
文件: tonifai.py 项目: terela/tonifai
# Clarifai
CLARIFAI_APP_ID = YOUR_CLARIFAI_APP_ID
CLARIFAI_APP_SECRET = YOUR_CLARIFAI_APP_SECRET

clarifai_api = ClarifaiApi(app_id=CLARIFAI_APP_ID, app_secret=CLARIFAI_APP_SECRET)

#results = clarifai_api.tag_image_urls('http://d21vu35cjx7sd4.cloudfront.net/dims3/MMAH/thumbnail/645x380/quality/90/?url=http%3A%2F%2Fs3.amazonaws.com%2Fassets.prod.vetstreet.com%2F3a%2F54%2F5ae8bfcc41b381c27a792e0dd891%2FAP-KWDHXS-645sm8113.jpg')

#results = clarifai_api.tag_urls("http://d21vu35cjx7sd4.cloudfront.net/dims3/MMAH/thumbnail/645x380/quality/90/?url=http%3A%2F%2Fs3.amazonaws.com%2Fassets.prod.vetstreet.com%2F3a%2F54%2F5ae8bfcc41b381c27a792e0dd891%2FAP-KWDHXS-645sm8113.jpg")

#results = clarifai_api.tag_urls("http://www.midtownhotelnyc.com/resourcefiles/homeimages/hilton-garden-inn-new-york-manhattan-midtown-east-home1-top.jpg")

userInput = input('Please enter your image URL: ')

results = clarifai_api.tag_urls(userInput)

for result in results.get('results'):
  tag = result['result']['tag']['classes']
  break
  # debug
  #print(tag)
# debug
#print (tag)

taglist = list()

i = 0
for t in tag:
    if (i==5):
        break
示例#2
0
            | df.image_url.str.contains('.png'))][[
                'image_order', 'image_url'
            ]].sort_values(['image_order'
                            ])['image_url'].tolist()
 count = len(
     df[(df.gender == gender) & (df.name == name) &
        (df.clarifai_status == 'OK') & (df.predicted != '-')])
 begin = 0
 print(gender, name, count, len(urls))
 while count < args.count and begin < len(urls):
     need = args.count - count
     if args.batch and need > args.batch:
         need = args.batch
     sel_urls = urls[begin:begin + need]
     try:
         result = clarifai_api.tag_urls(sel_urls)
         for r in result['results']:
             url = r['url'].encode('utf-8')
             status = r['status_code']
             try:
                 _id = df[(df.gender == gender)
                          & (df.name == name) &
                          (df.image_url == url)].index[0]
                 df.loc[_id, 'clarifai_status'] = status
                 if status == 'OK':
                     tags = r['result']['tag']['classes']
                     probs = r['result']['tag']['probs']
                     msum = 0
                     fsum = 0
                     for t in ['man', 'men', 'boy', 'actor']:
                         try:
示例#3
0
    try:
        for gender in df['gender'].unique():
            names = df[df.gender == gender].name.unique().tolist()
            for name in names:
                urls = df[(df.gender == gender) & (df.name == name) & df.clarifai_status.isnull() & (df.image_url.str.contains('.jpg') | df.image_url.str.contains('.jpeg') | df.image_url.str.contains('.png'))][['image_order', 'image_url']].sort_values(['image_order'])['image_url'].tolist()
                count = len(df[(df.gender == gender) & (df.name == name) & (df.clarifai_status == 'OK') & (df.predicted != '-')])
                begin = 0
                print(gender, name, count, len(urls))
                while count < args.count and begin < len(urls):
                    need = args.count - count
                    if args.batch and need > args.batch:
                        need = args.batch
                    sel_urls = urls[begin:begin+need]
                    try:
                        result = clarifai_api.tag_urls(sel_urls)
                        for r in result['results']:
                            url = r['url'].encode('utf-8')
                            status = r['status_code']
                            try:
                                _id = df[(df.gender == gender) & (df.name == name) & (df.image_url == url)].index[0]
                                df.loc[_id, 'clarifai_status'] = status
                                if status == 'OK':
                                    tags = r['result']['tag']['classes']
                                    probs = r['result']['tag']['probs']
                                    msum = 0
                                    fsum = 0
                                    for t in ['man', 'men', 'boy', 'actor']:
                                        try:
                                            idx = tags.index(t)
                                            msum += probs[idx]