diff options
Diffstat (limited to 'data')
| -rwxr-xr-x | data/face-detect.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/data/face-detect.py b/data/face-detect.py new file mode 100755 index 0000000..dfc4256 --- /dev/null +++ b/data/face-detect.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +import os +import sys +from face_client import FaceClient +import time + +api_key = '34a84a7835bf24df2d84b4bded84e838' +api_secret = '5bc9e8c5a9e3a2d916abbe3659a1b3f8' +#url_base = 'http://74.95.195.225/static/img/jon/users/' +client = FaceClient(api_key, api_secret) + +runs = [] +for arg in sys.argv[2:]: + runs += [[open(arg), sys.argv[1].rstrip('/') + '/' + arg.split('/')[-2] + '/']] + +def limits(client): + response = client.account_limits() + return response['remaining'],response['reset_time'] + +remaining,reset_time = limits(client) + +for lines, pic_dir in runs: + for line in lines: + line = line.strip().split(',') + name,run,frame,zv = line[0:4] + while remaining == 0: + time.sleep(max(reset_time - time.time(),0) + 10) + remaining,reset_time = limits(client) + if frame != 'frame': + img = open(pic_dir + frame + '.jpg') + response = client.faces_detect(file=img) + img.close() + out = line[0:4] + try: + photo = response['photos'][0] + out += [str(len(photo['tags']))] + for tag in photo['tags']: + out += [str(tag['width']),str(tag['height']),str(tag['center']['x']),str(tag['center']['y'])] + except: + sys.stderr.write("Unexpexted error:"+str(sys.exc_info()[0])+" "+frame) + out = line[0:4] + ['0'] + print ','.join(out) + remaining -= 1 + time.sleep(0.3) + + + + |
