TSINGSEE青犀视频EasyCVR集成大华人脸识别设备

自从EasyCVR的硬件版本上线以来,很多用户都对EasyCVR的智能分析版本感兴趣,其中一个重要的分析功能就是人脸识别功能。目前我们已经做到的人脸识别主要是将人脸信息建立信息库,从这个信息库里与不同的人脸做比对。

TSINGSEE青犀视频EasyCVR集成大华人脸识别设备

人脸库即人脸图片和人员信息的一个集合,提供了人脸库的添加、删除、修改和查找功能。本文我们分享一下我们对大华人脸识别集成的流程。

TSINGSEE青犀视频EasyCVR集成大华人脸识别设备

流程说明

调用 CLIENT_Init 完成 SDK 初始化流程。

  • 步骤1:初始化成功后,调用 CLIENT_LoginEx2 登录设备。
  • 步骤2:调用 CLIENT_OperateFaceRecognitionGroup 根据相应的枚举类型进行人脸库的添加、修改。
  • 步骤3:修改、删除操作。

调用 CLIENT_FindGroupInfo 获取人脸库信息。

  • 步骤4:业务使用完后,调用 CLIENT_Logout 登出设备。
  • 步骤5:SDK 功能使用完后,调用 CLIENT_Cleanup 释放 SDK 资源。

对应值说明

人脸库添加

操作时,操作类型 emOperateType 对应的值取NET_FACERECONGNITION_GROUP_ADD,所对应的结构体为NET_ADD_FACERECONGNITION_GROUP_INFO。

人脸库修改

修改人脸库操作类型 emOperateType 对应值为NET_FACERECONGNITION_GROUP_MODIFY,对应结构体为NET_MODIFY_FACERECONGNITION_GROUP_INFO;修改人脸库需要指定 GroupID 和人脸库类型 emFaceDBType,所指定的 GroupID 需要设备上已存在的。

人脸库删除

删除人脸库操作类型 emOperateType 对应值为NET_FACERECONGNITION_GROUP_DELETE,对应结构体为NET_DELETE_FACERECONGNITION_GROUP_INFO;删除人脸库时若指定了 GroupID,则删除对应 GroupID 的人脸库,若未指定 GroupID,则删除全部的人脸库。

// 设置人脸库查询条件 
NET_IN_FIND_GROUP_INFO stuInParam = {sizeof(stuInParam)}; 
NET_OUT_FIND_GROUP_INFO stuOutParam = {sizeof(stuOutParam)}; 
stuOutParam.nMaxGroupNum = 100; 
NET_FACERECONGNITION_GROUP_INFO *pGroupInfo = NULL; 
stuOutParam.pGroupInfos = new NET_FACERECONGNITION_GROUP_INFO[100]; 
memset(stuOutParam.pGroupInfos, 0,sizeof(NET_FACERECONGNITION_GROUP_INFO)*100); 
// 人脸库查询 
BOOL bRet = CLIENT_FindGroupInfo(lLoginHandle, &stuInParam, &stuOutParam, 5000); 
if(FALSE == bRet) 
{ 
printf("CLIENT_FindGroupInfo: failed! Error code %x.\n", CLIENT_GetLastError()); 
return -1; 
} 
delete[] pGroupInfo;
上一篇:EasyCVR平台在苹果设备中无法播放如何强制修改播放协议?


下一篇:Python语言:下载上证股票数据程序