ARM,MIPS64,X86下银河麒麟 统信UOS人脸识别SDK
DM-AI2C1 SDKl SDK简介AI2Cam SDK是人脸AI相机设备的上位机软件二次开发工具包,主要功能包含人脸识别及人脸活体判别等,API接口包含三部分:1. 相机设备访问:主要是打开相机,获取相机图像帧,关闭相机。2. 人脸业务请求:请求人脸识
DM-AI2C1 SDKl SDK简介AI2Cam SDK是人脸AI相机设备的上位机软件二次开发工具包,主要功能包含人脸识别及人脸活体判别等,API接口包含三部分:1. 相机设备访问:主要是打开相机,获取相机图像帧,关闭相机。2. 人脸业务请求:请求人脸识
l SDK简介
AI2Cam SDK是人脸AI相机设备的上位机软件二次开发工具包,主要功能包含人脸识别及人脸活体判别等,API接口包含三部分:
1. 相机设备访问:主要是打开相机,获取相机图像帧,关闭相机。
2. 人脸业务请求:请求人脸识别业务,请求活体判别业务
3. 基础图像处理:打开和保存图像,缩放图像,缩放图像,绘制图像,显示图像等。
l SDK 库运行环境
Windows系统,银河麒麟系统,统信UOS v20 ,Android系统
硬件平台:ARM架构,MIPS64,AMD架构
cpu:鲲鹏920,飞腾FT2000, 腾锐D2000,兆芯ZX-C, ZX-C+,KX-5000,KX-6000X系列,海光3000,龙芯3A3000,龙芯3A4000, 因特尔系列,AMD系列等;
l 头文件
AI2Cam_i.h
l 编译时库文件
AI2Cam.lib(Windows平台)
l 运行时库文件
AI2Cam.dll(Windows平台)
libAI2Cam.so(Linux平台)
l 结构体定义
//矩形定义
struct TH_RECT
{
int left;
int top;
int right;
int bottom;
};
//点定义
struct TH_POINT
{
int x;
int y;
};
说明:矩形及点的定义,坐标系的原点为图像的左上角
//颜色定义
struct TH_COLOR
{
unsigned char r;
unsigned char g;
unsigned char b;
};
//AI相机设备信息
struct ai2cam_device_info
{
char friendly_name[256];//相机显示名
char vid[16];//相机vid
char pid[16];//相机pid
int sys_id;//系统分配的设备id
};
l 接口说明
(可参考AI2Cam_i.h中的API接口注释)
1. int ai2cam_init(ai2cam_device_info* cam_info);
功能:初始化AI2Cam SDK
参数:
cam_info,相机设备信息。初始化成功后,用于存放相机设备的相关信息
返回值:int整型
0,成功
-1,未发现相机设备
-2,未发现AI2Cam设备
-3,USB通信初始化失败
2. void ai2cam_uninit ();
功能:释放AI2Cam SDK
3. int ai2cam_camera_open(int res_w, int res_h);
功能:打开AI相机设备
参数:
res_w,res_h,相机分辨率的宽高
返回值:int整型
0,成功
-99,AI2Cam模块未成功初始化
-1,相机内部设备号非法
-2,打开相机失败
4. void ai2cam_camera_close ();
功能:关闭AI相机设备
5. int ai2cam_camera_getframe (unsigned char* img_data, int img_width, int img_height, int transform_code = 0, TH_RECT* face_box = NULL)
功能:获取相机的图像帧数据
参数:
img_data,图像数据,内存以HWC(C=BGR)方式排列,内存由 调用方分配,内存大小为:img_width*img_height*3字节
img_width,图像宽
img_height,图像高
transform_code,是否镜像图像帧:
0-不镜像,1-水平镜像,2-垂直镜像
face_box,人脸框座标
返回值:int整型
0,取帧成功,无人脸
1,取帧成功,有人脸
-99,AI2Cam模块未成功初始化
-1,img_data或img_width或img_height非法
-2,取帧失败
6. int ai2cam_face_liveness(int timeout_ms ,int* result)
功能:向AI相机设备请求人脸活体判别业务
参数:
timeout_ms,业务处理的超时时间,单位为毫秒
result,保留
返回值:int整型
0,成功
-101,人脸活体判别失败
-99,AI2Cam模块未成功初始化
-2,请求业务通信失败
7. int ai2cam_face_verify(unsigned char* img_data, int img_width, int img_height, int liveness, int timeout_ms, int* result);
功能:向AI相机设备请求人脸验证业务
返回值:
img_data,传入AI相机的图像数据,内存以HWC(C=BGR)方式排列
img_width,图像宽
img_height,图像高
liveness,是否进行活体判别:0-不启用,1-启用
timeout_ms,业务处理的超时时间,单位为毫秒
result,保留
返回值:int整型
0,成功
-101,人脸验证失败
-99,AI2Cam模块未成功初始化
-1,图像数据预处理失败
-2,请求业务通信失败
8. 结束
l 说明
Linux系统下,访问设备需要root权限的话(ai2cam_init返回-3),请操作以下:1.把bin目录下的99-AI2Cam.rules文件放入/etc/udev/rules.d
2.拔出设备
3.运行sudo udevadm control --reload-rules
4.插入设备
l 应用指南
l 更多应用开发高级指南请联系商务
l 文档内容到此结束