Class: OxfordFaceApi::Face

Inherits:
Object
  • Object
show all
Defined in:
lib/oxford/face/api.rb

Instance Method Summary collapse

Constructor Details

#initializeFace

Returns a new instance of Face.



16
17
18
19
# File 'lib/oxford/face/api.rb', line 16

def initialize
  raise if OxfordFaceApi.API_KEY.empty?
  @client = HttpClient.new(OxfordFaceApi.API_KEY)
end

Instance Method Details

#detect(url, return_face_id = true, return_face_landmarks = false, return_face_attributes = "") ⇒ Object



23
24
25
26
27
28
# 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_similarObject



33
34
35
36
37
# File 'lib/oxford/face/api.rb', line 33

def find_similar
  params = {
  }
  @client.post("/findsimilars", params)
end

#groupObject



42
43
44
45
46
# 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) ⇒ Object



50
51
52
53
54
55
56
57
58
# 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 = "") ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# 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