class OxfordFaceApi::Face

Public Class Methods

new() click to toggle source
# File lib/oxford/face/api.rb, line 16
def initialize
  raise if OxfordFaceApi.API_KEY.empty?
  @client = HttpClient.new(OxfordFaceApi.API_KEY)
end

Public Instance Methods

detect(url, return_face_id = true, return_face_landmarks = false, return_face_attributes = "") click to toggle source

Detect POST api.projectoxford.ai/face/v1.0/detect[?returnFaceId][&returnFaceLandmarks][&returnFaceAttributes]

# File lib/oxford/face/api.rb, line 23
def detect(url, return_face_id = true, return_face_landmarks = false, return_face_attributes = "")
  params = {
        url: url
  }
  @client.post("/detect?returnFaceId=#{return_face_id}&returnFaceLandmarks=#{return_face_landmarks}&returnFaceAttributes=#{return_face_attributes}", params)
end
find_similar() click to toggle source

TODO Find Similar POST api.projectoxford.ai/face/v1.0/findsimilars

# File lib/oxford/face/api.rb, line 33
def find_similar
  params = {
  }
  @client.post("/findsimilars", params)
end
group() click to toggle source

TODO Group POST api.projectoxford.ai/face/v1.0/group

# File lib/oxford/face/api.rb, line 42
def group
  params = {
  }
  @client.post("/group", params)
end
identify(group_id, face_ids, max_num_of_candidates_returned = 1, confidence_threshold = 0.5) click to toggle source

Identify POST api.projectoxford.ai/face/v1.0/identify

# File lib/oxford/face/api.rb, line 50
def identify(group_id, face_ids, max_num_of_candidates_returned = 1, confidence_threshold = 0.5)
  params = {
        faceIds: face_ids,
        personGroupId: group_id, 
        maxNumOfCandidatesReturned: max_num_of_candidates_returned,
        confidenceThreshold: confidence_threshold
  }
  @client.post("/identify", params)
end
verify(face_id, group_id, person_id = "") click to toggle source

Verify POST api.projectoxford.ai/face/v1.0/verify

# File lib/oxford/face/api.rb, line 62
def verify(face_id, group_id, person_id = "")
  if person_id.empty?
        face_id1 = face_id
        face_id2 = group_id

        params = {
          faceId1: face_id1,
          faceId2: face_id2,
        }
  else
        params = {
          faceId: face_id,
          personGroupId: group_id,
          personId: person_id
        }
  end
  @client.post("/verify", params)
end