-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexample.py
More file actions
executable file
·64 lines (55 loc) · 3.06 KB
/
example.py
File metadata and controls
executable file
·64 lines (55 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import os
from regula.facesdk.webclient import MatchImage, MatchRequest
from regula.facesdk.webclient.ext import FaceSdk, DetectRequest
from regula.facesdk.webclient.gen.models.face_quality_scenarios import FaceQualityScenarios
from regula.facesdk.webclient.gen.models.image_source import ImageSource
from regula.facesdk.webclient.gen.models.process_param import ProcessParam
api_base_path = os.getenv("API_BASE_PATH", "https://faceapi.regulaforensics.com")
with open("face1.jpg", "rb") as f:
face_1_bytes = f.read()
with open("face2.jpg", "rb") as f:
face_2_bytes = f.read()
with FaceSdk(host=api_base_path) as sdk:
images = [
MatchImage(index=1, data=face_1_bytes, type=ImageSource.LIVE),
MatchImage(index=2, data=face_1_bytes, type=ImageSource.DOCUMENT_RFID),
MatchImage(index=3, data=face_2_bytes),
]
match_request = MatchRequest(images=images)
match_response = sdk.match_api.match(match_request)
print("-----------------------------------------------------------------")
print(" Matching Results ")
print("-----------------------------------------------------------------")
for comparison in match_response.results:
print(f"pair({comparison.first_index}, {comparison.second_index}) similarity: {comparison.similarity}")
print("-----------------------------------------------------------------")
detect_request = DetectRequest(image=face_1_bytes)
detect_response = sdk.match_api.detect(detect_request)
detect_results = detect_response.results
print(" Detect Results ")
print("-----------------------------------------------------------------")
print(f"detector_type: {detect_results.detector_type}")
print(f"landmark_type: {detect_results.landmarks_type}")
for detection in detect_results.detections:
print(f"landmarks: {detection.landmarks}")
print(f"roi: {detection.roi}")
print(f"attributes: {detection.attributes}")
print("-----------------------------------------------------------------")
detect_image_quality_request = DetectRequest(
image=face_1_bytes,
process_param=ProcessParam(
scenario=FaceQualityScenarios.QUALITY_ICAO,
onlyCentralFace=True
)
)
detect_image_quality_response = sdk.match_api.detect(detect_image_quality_request)
detect_image_quality_result = detect_image_quality_response.results
print(" Detect Image Quality Results ")
print("-----------------------------------------------------------------")
print(f"Code: {detect_image_quality_response.code}")
print(f"Scenario: {detect_image_quality_result.scenario}")
for detection in detect_image_quality_result.detections:
print(f"Landmarks: {detection.landmarks}")
print(f"Quality: [{type(detection).__name__}], count: {len(detection.quality.details)}")
print(f"Attributes: {detection.attributes}")
print("-----------------------------------------------------------------")