import ctypes, ctypes.util from ctypes import * from numpy.ctypeslib import ndpointer import sys import os lib_path = os.path.abspath(os.path.dirname(__file__)) + '/libs/libttvfaceengine6.so' liveness_engine = cdll.LoadLibrary(lib_path) ttv_version = liveness_engine.ttv_version ttv_version.argtypes = [] ttv_version.restype = ctypes.c_char_p ttv_get_hwid = liveness_engine.ttv_get_hwid ttv_get_hwid.argtypes = [] ttv_get_hwid.restype = ctypes.c_char_p ttv_init = liveness_engine.ttv_init ttv_init.argtypes = [ctypes.c_char_p, ctypes.c_char_p] ttv_init.restype = ctypes.c_int32 ttv_init_offline = liveness_engine.ttv_init_offline ttv_init_offline.argtypes = [ctypes.c_char_p, ctypes.c_char_p] ttv_init_offline.restype = ctypes.c_int32 ttv_extract_feature = liveness_engine.ttv_extract_feature ttv_extract_feature.argtypes = [ndpointer(ctypes.c_ubyte, flags='C_CONTIGUOUS'), ctypes.c_int32, ctypes.c_int32, ndpointer(ctypes.c_int32, flags='C_CONTIGUOUS'), ndpointer(ctypes.c_ubyte, flags='C_CONTIGUOUS'), ndpointer(ctypes.c_int32, flags='C_CONTIGUOUS')] ttv_extract_feature.restype = ctypes.c_int ttv_compare_feature = liveness_engine.ttv_compare_feature ttv_compare_feature.argtypes = [ndpointer(ctypes.c_ubyte, flags='C_CONTIGUOUS'), ndpointer(ctypes.c_ubyte, flags='C_CONTIGUOUS')] ttv_compare_feature.restype = ctypes.c_double