TSINGSEE青犀视频开发大华sdk以图搜图功能简介

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TSINGSEE青犀视频开发大华sdk以图搜图功能简介相关的知识,希望对你有一定的参考价值。

大家知道我们最近一直在开发EasyCVR的智能识别功能,为了能够将不同的格式及SDK都与我们EasyCVR进行适配,我们也开始对此进行了研究。本文主要是分享一下我们在开发智能识别功能时,涉及到大华SDK以图搜图功能的简介。

该功能的实现主要是先从外部导入一张图片和相似度值,IVSS、NVR等设备通过这张图检索历史库或人脸库是否已经存在匹配的人脸,并返回在相似度之上的图片结果。

下面简述下调用过程:

1、调用 CLIENT_Init 完成 SDK 初始化流程。
2、初始化成功后,调用 CLIENT_LoginEx2 登录设备。
3、调用 CLIENT_StartFindFaceRecognition 设置人脸查询条件。
4、查看以上步骤中的返回值,若接口出参结构体中 nTotalCount 返回的是-1,需要等待设备查询完成。
5、调用 CLIENT_AttachFaceFindState 订阅人脸查询状态。然后等待进度回调函数中的返回进度为 100 时即搜索完成。搜索完成后调用 CLIENT_DetachFaceFindState 取消订阅查询进度。
6、调用 CLIENT_DoFindFaceRecognition 接口获取查询结果。
7、调用 CLIENT_StopFindFaceRecognition 接口结束查询。
8、业务使用完后,调用 CLIENT_Logout 登出设备。
9、SDK 功能使用完后,调用 CLIENT_Cleanup 释放 SDK 资源。

代码示例:

// 查询进度回调函数 
void CALLBACK FaceFindState(LLONG lLoginID, LLONG lAttachHandle, NET_CB_FACE_FIND_STATE* 
pstStates, int nStateNum, LDWORD dwUser) 
{ 
if (pstStates->nProgress== 100) //表示查询进度 100% 
{ 
// 停止人脸查询进度的订阅 
CLIENT_DetachFaceFindState(lAttachHandle); 
// 开始查询 
DoFind(); 
} 
return; 
} 
// 配置查询条件 
NET_IN_STARTFIND_FACERECONGNITION stuInParam = { sizeof(stuInParam) }; 
NET_OUT_STARTFIND_FACERECONGNITION stuOutParam = { sizeof(stuOutParam) }; 
stuInParam.stFilterInfo.dwSize = sizeof(stuInParam.stFilterInfo); 
stuInParam.stMatchOptions.dwSize = sizeof(stuInParam.stMatchOptions); 
stuInParam.bPersonExEnable = TRUE; 
stuInParam.nChannelID = 0; 
stuInParam.stMatchOptions.nSimilarity = 80; 
stuInParam.stFilterInfo.stStartTime = startTime; 
stuInParam.stFilterInfo.stEndTime = endTime; 
stuInParam.nBufferLen = nPicBufLen; 
stuInParam.pBuffer = strPicBuf; // 图片 Buffer 
stuInParam.stPersonInfoEx.wFacePicNum = 1; 
stuInParam.stPersonInfoEx.szFacePicInfo[0].dwOffSet = 0; 
stuInParam.stPersonInfoEx.szFacePicInfo[0].dwFileLenth = nLength; 
BOOL bRet = CLIENT_StartFindFaceRecognition(m_lLoginId, &stuInParam, &stuOutParam, 5000); 
if (!bRet) 
{ 
printf("CLIENT_StartFindFaceRecognition: failed! Error code %x.\\n", CLIENT_GetLastError()); 
return -1; 
} 
m_lFindHandle = stuOutParam.lFindHandle; 

以上是关于TSINGSEE青犀视频开发大华sdk以图搜图功能简介的主要内容,如果未能解决你的问题,请参考以下文章

TSINGSEE青犀视频开发AI识别对接大华AI设备以通道或者库为对象布控的流程介绍

TSINGSEE青犀视频接入大华摄像机实现改变预置点名称

TSINGSEE青犀视频平台如何调用宇视SDK实现摄像机的云台控制?

TSINGSEE青犀视频Easy系列视频平台如何快捷判断视频流编码格式?

TSINGSEE青犀平台如何实现同一节点同时播放多个视频?

宇视摄像机接入TSINGSEE青犀视频平台,如何基于SDK获取设备的组织和摄像机?