Ejemplo n.º 1
0
    def setUpClass(cls):
        # set up self.client for tests
        cls.client = Face(os.environ['OXFORD_FACE_API_KEY'])

        # detect two faces
        cls.knownFaceIds = [];
        cls.localFilePrefix = os.path.join(rootDirectory, 'tests', 'images')
        face1 = cls.client.detect({'path': os.path.join(cls.localFilePrefix, 'face1.jpg')})
        face2 = cls.client.detect({'path': os.path.join(cls.localFilePrefix, 'face2.jpg')})
        cls.knownFaceIds.append(face1[0]['faceId'])
        cls.knownFaceIds.append(face2[0]['faceId'])
Ejemplo n.º 2
0
    def setUpClass(cls):
        # set up client for tests
        cls.client = Face(os.environ['OXFORD_FACE_API_KEY'])

        # detect two faces
        cls.knownFaceIds = []
        localFilePrefix = os.path.join(rootDirectory, 'tests', 'images')
        face1 = cls.client.detect(
            {'path': os.path.join(localFilePrefix, 'face1.jpg')})
        face2 = cls.client.detect(
            {'path': os.path.join(localFilePrefix, 'face2.jpg')})
        cls.knownFaceIds.append(face1[0]['faceId'])
        cls.knownFaceIds.append(face2[0]['faceId'])

        # create a person group
        cls.personGroupId = str(uuid.uuid4())
        cls.client.personGroup.create(cls.personGroupId, 'test-person-group')
Ejemplo n.º 3
0
    def setUpClass(cls):
        # set up self.client for tests
        cls.client = Face(os.environ['OXFORD_FACE_API_KEY'])

        # detect two faces
        cls.knownFaceIds = []
        cls.localFilePrefix = os.path.join(rootDirectory, 'tests', 'images')
        face1 = cls.client.detect(
            {'path': os.path.join(cls.localFilePrefix, 'face1.jpg')})
        face2 = cls.client.detect(
            {'path': os.path.join(cls.localFilePrefix, 'face2.jpg')})
        cls.knownFaceIds.append(face1[0]['faceId'])
        cls.knownFaceIds.append(face2[0]['faceId'])

        # set common detect options
        cls.detectOptions = {
            'returnFaceLandmarks': True,
            'returnFaceAttributes': 'age,gender,headPose,smile,facialHair'
        }
Ejemplo n.º 4
0
import cv2

from oxford.face import Face

parser = argparse.ArgumentParser()
parser.add_argument('--image', required=True, help='Image to interact with.')
parser.add_argument('--apikey', help='Face API license key')
parser.add_argument('--facelistid', help='Face List Id to search against')

args = parser.parse_args()

window_name = 'Oxford Demo'
img = None
faces = []

client = Face(args.apikey)

if args.facelistid is None:
    face_lists = client.faceList.list()
    face_list_id = face_lists[0]['faceListId']
else:
    face_list_id = args.facelistid
print "Face List: %s" % face_list_id

face_list = client.faceList.get(face_list_id)
print "Number of Faces: %d" % len(face_list['persistedFaces'])

def find_face(x,y):
    sx = x / width_scale
    sy = y / height_scale
    print "X: %d Y: %d -> SX: %d SY: %d" % (x, y, sx, sy)
Ejemplo n.º 5
0
from os.path import abspath, dirname
sys.path.append(dirname(dirname(abspath(__file__))))

import argparse
import json

from oxford.face import Face

parser = argparse.ArgumentParser()
parser.add_argument('--image', help='Image to interact with.')
parser.add_argument('--facelistid', help='Face List Id to search.')
parser.add_argument('--apikey', help='Face API license key')

args = parser.parse_args()

client = Face(args.apikey)

print "Face List ID: %s" % args.facelistid
face_list = client.faceList.get(args.facelistid)
print "Number of Faces in Face List: %d" % len(face_list['persistedFaces'])

try:
    face = client.detect({'path': args.image})[0]
    print "Face to search for:"
    print "\tFace: %s" % face['faceId']
    print "\tLocation: (Left) %d (Top) %d (Width) %d (Height) %d" % (face['faceRectangle']['left'], face['faceRectangle']['top'], face['faceRectangle']['width'], face['faceRectangle']['height'])
    left = face['faceRectangle']['left']
    right = face['faceRectangle']['left'] + face['faceRectangle']['width']
    top = face['faceRectangle']['top']
    bottom = face['faceRectangle']['top'] + face['faceRectangle']['height']
Ejemplo n.º 6
0
sys.path.append(dirname(dirname(abspath(__file__))))

import argparse

from oxford.face import Face

parser = argparse.ArgumentParser()
parser.add_argument('--apikey', help='Face API license key')
parser.add_argument('--list', help='List facelists', action='store_true')
parser.add_argument('--info', help='Print information about facelist')
parser.add_argument('--delete', help='Delete specified facelist')
parser.add_argument('--count', help='Print the number of faces in a face list')

args = parser.parse_args()

client = Face(args.apikey)

face_lists = client.faceList.list()

if args.list:
    for face_list in face_lists:
        print json.dumps(face_list,
                         sort_keys=True,
                         indent=4,
                         separators=(',', ': '))

if args.info:
    print json.dumps(client.faceList.get(args.info),
                     sort_keys=True,
                     indent=4,
                     separators=(',', ': '))
Ejemplo n.º 7
0
from oxford.facelist import FaceList

parser = argparse.ArgumentParser()
parser.add_argument('--source',
                    required=True,
                    help='Directory of images or a single image to load.')
parser.add_argument('--apikey', required=True, help='Face API license key')
parser.add_argument('--facelist',
                    help='Basename for facelist.',
                    default='facelist')
parser.add_argument('--dryrun', action='store_true')

args = parser.parse_args()

facelist = FaceList(args.apikey)
face = Face(args.apikey)

facelist_count = 0
facelist_id = "%s-%d" % (args.facelist, facelist_count)
facelist_name = "Face List %d" % facelist_count
facelist_count += 1

try:
    logger.info("Making facelist.")
    facelist.create(facelist_id, facelist_name)
    logger.info("Finished making facelist.")
except Exception as e:
    logger.error("Problem creating facelist: %s" % e)

face_result = []
if os.path.exists(args.source):
Ejemplo n.º 8
0
from os.path import abspath, dirname
sys.path.append(dirname(dirname(abspath(__file__))))

import argparse
import json

from oxford.face import Face

parser = argparse.ArgumentParser()
parser.add_argument('--image', help='Image to interact with.')
parser.add_argument('--facelistid', help='Face List Id to search.')
parser.add_argument('--apikey', help='Face API license key')

args = parser.parse_args()

client = Face(args.apikey)

print "Face List ID: %s" % args.facelistid
face_list = client.faceList.get(args.facelistid)
print "Number of Faces in Face List: %d" % len(face_list['persistedFaces'])

try:
    face = client.detect({'path': args.image})[0]
    print "Face to search for:"
    print "\tFace: %s" % face['faceId']
    print "\tLocation: (Left) %d (Top) %d (Width) %d (Height) %d" % (
        face['faceRectangle']['left'], face['faceRectangle']['top'],
        face['faceRectangle']['width'], face['faceRectangle']['height'])
    left = face['faceRectangle']['left']
    right = face['faceRectangle']['left'] + face['faceRectangle']['width']
    top = face['faceRectangle']['top']
Ejemplo n.º 9
0
from oxford.face import Face
from oxford.person import Person
from oxford.facelist import FaceList

parser = argparse.ArgumentParser()
parser.add_argument('--source', required=True,
                    help='Directory of images or a single image to load.')
parser.add_argument('--apikey', required=True, help='Face API license key')
parser.add_argument('--facelist', help='Basename for facelist.', default='facelist')
parser.add_argument('--dryrun', action='store_true')

args = parser.parse_args()

facelist = FaceList(args.apikey)
face = Face(args.apikey)

facelist_count = 0
facelist_id = "%s-%d" % (args.facelist, facelist_count)
facelist_name = "Face List %d" % facelist_count
facelist_count += 1

try:
    logger.info("Making facelist.")
    facelist.create(facelist_id, facelist_name)
    logger.info("Finished making facelist.")
except Exception as e:
    logger.error("Problem creating facelist: %s" % e)
    
face_result = []
if os.path.exists(args.source):