File size: 2,051 Bytes
13170f7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
65
66
67
68
69
import ctypes
from ctypes_enum import CtypesEnum
from .EveProcessingStatus import *

EVE_FACE_ID_MAX_MISSING_CALIBRATION_POSES = 5

class EveFaceIdActionStatus(CtypesEnum):
	EVE_FACE_ID_ACTION_IDLE = 0
	EVE_FACE_ID_ACTION_CALIBRATING = 1
	EVE_FACE_ID_ACTION_CALIBRATED = 2
	EVE_FACE_ID_ACTION_IDENTIFIED = 3

class EveFaceIdCalibrationStatus(CtypesEnum):
	EVE_FACE_ID_CALIB_NONE = 0
	EVE_FACE_ID_CALIB_RUNNING = 1
	EVE_FACE_ID_CALIB_SUCCESS = 2
	EVE_FACE_ID_CALIB_FAILURE_LACK_POSE_MOTION = 3
	EVE_FACE_ID_CALIB_FAILURE_OTHER = 4

class EveFaceIdIdentificationStatus(CtypesEnum):
	EVE_FACE_ID_NONE = 0
	EVE_FACE_ID_SUCCESS = 1
	EVE_FACE_ID_FAILURE_VERIFICATION = 2
	EVE_FACE_ID_FAILURE_ANGLE_PITCH = 3
	EVE_FACE_ID_FAILURE_ANGLE_YAW = 4
	EVE_FACE_ID_FAILURE_ANGLE_ROLL = 5
	EVE_FACE_ID_FAILURE_ANGLE_BOTH = 6
	EVE_FACE_ID_FAILURE_NO_GALLERY = 7
	EVE_FACE_ID_FAILURE_EXP_SMILE = 8
	EVE_FACE_ID_FAILURE_EXP_SQUINT = 9
	EVE_FACE_ID_FAILURE_EXP_EYES_CLOSED = 10
	EVE_FACE_ID_FAILURE_DEPTH = 11
	EVE_FACE_ID_FAILURE_OTHER = 12

class EveFaceIdPose(CtypesEnum):
	EVE_FACE_ID_POSE_FRONTAL = 0
	EVE_FACE_ID_POSE_LEFT = 1
	EVE_FACE_ID_POSE_RIGHT = 2
	EVE_FACE_ID_POSE_UP = 3
	EVE_FACE_ID_POSE_DOWN = 4

class EveFaceIdCommand(CtypesEnum):
	EVE_FACE_ID_COMMAND_NONE = 0
	EVE_FACE_ID_COMMAND_ADD_NEW_USER = 1
	EVE_FACE_ID_COMMAND_CALIBRATE_CURRENT_USER = 2
	EVE_FACE_ID_COMMAND_FORCE_ID = 3
	EVE_FACE_ID_COMMAND_REMOVE_CURRENT_USER = 4
	EVE_FACE_ID_COMMAND_REMOVE_ALL_USERS = 5
	EVE_FACE_ID_COMMAND_RELOAD_GALLERY = 6

class CFaceIdentity(ctypes.Structure):
	_fields_ = [
		("id", ctypes.c_longlong),
		("confidence", ctypes.c_float),
		("similarity", ctypes.c_float),
	]

class CFaceIdentityData(ctypes.Structure):
	_fields_ = [
		("processingStatus", ctypes.c_int),
		("actionStatus", ctypes.c_int),
		("calibrationStatus", ctypes.c_int),
		("identificationStatus", ctypes.c_int),
		("faceIdentity", CFaceIdentity),
		("missingCalibrationPosesCount", ctypes.c_uint),
		("missingCalibrationPoses", ctypes.c_int * EVE_FACE_ID_MAX_MISSING_CALIBRATION_POSES),
	]