DM-AI2C1  SDK
	SDK简介
DM-AI2C1  SDK是内置人脸识别算法AI相机设备的上位机软件二次开发工具包，主要功能包含人脸识别(人证1:1，人脸比对1：N )及人脸活体判别等，API接口包含三部分：
1.	相机设备访问：主要是打开相机，获取相机图像帧，关闭相机。
2.	人脸业务请求：请求人脸识别业务，请求活体判别业务
3.	基础图像处理：打开和保存图像，缩放图像，缩放图像，绘制图像，显示图像等。

	SDK 库运行环境
Windows系统，Linux系统(麒麟，统信等)，Android系统

	头文件
AI2Cam_i.h

	编译时库文件
AI2Cam.lib(Windows平台)

	运行时库文件
AI2Cam.dll(Windows平台)
libAI2Cam.so(Linux平台)

结构体定义

//矩形定义
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
};

接口说明
(可参考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.	结束
	


	 --------------------------------------------文档内容到此结束--更多技术支持请联系0755-23769248------------------------------------
