虹软java接摄像头_虹软人脸识别SDK在网络摄像头中的实际应用

目前在人脸识别领域中,网络摄像头的使用很普遍,但接入网络摄像头和人脸识别SDK有一定门槛,在此篇中介绍过虹软人脸识别SDK的接入流程,本文着重介绍网络摄像头获取视频流并处理的流程(红色框内),以下内容仅供参考。市面上目前有很多款网络摄像头,以海康摄像头为例。海康SDK包含很多接口,接入有一定难度,这里只介绍获取视频帧相关的接口。1.海康SDK接入基本流程a.初始化并登录验证NET_DVR_Init...
摘要由CSDN通过智能技术生成

目前在人脸识别领域中,网络摄像头的使用很普遍,但接入网络摄像头和人脸识别SDK有一定门槛,在此篇中介绍过虹软人脸识别SDK的接入流程,本文着重介绍网络摄像头获取视频流并处理的流程(红色框内),以下内容仅供参考。

ae67d333f7c2a0a75915d40ddf4019ff.png

市面上目前有很多款网络摄像头,以海康摄像头为例。海康SDK包含很多接口,接入有一定难度,这里只介绍获取视频帧相关的接口。

1.海康SDK接入基本流程

a.初始化并登录验证

NET_DVR_Init();

NET_DVR_DEVICEINFO_V30 struDeviceInfo = { 0 };

long lUserID = NET_DVR_Login_V30(m_cameraIp, m_cameraPort,

m_cameraUser, m_cameraPwd, &struDeviceInfo);

if (lUserID < 0)

{

NET_DVR_Cleanup();

return false;

}

b.创建线程并注册回调函数

thread videoThread(&HCNetCamera::getCameraPreview, this);

videoThread.detach();

bool HCNetCamera::getCameraPreview()

{

NET_DVR_CLIENTINFO ClientInfo;

ClientInfo.lChannel = 1; //Channel number 设备通道号

ClientInfo.hPlayWnd = NULL; //窗口为空,设备SDK不解码只取流

ClientInfo.lLinkMode = 0; //Main Stream

ClientInfo.sMultiCastIP = NULL;

//预览取流

g_realHandle = NET_DVR_RealPlay_V30(g_cameraUserId, &ClientInfo, fRealDataCallBack, NULL, TRUE);

if (g_realHandle < 0)

{

qDebug() << "NET_DVR_RealPlay_V30 failed! Error number: " << NET_DVR_GetLastError();

return false;

}

return true;

}

c.使用回调接口,获取实时的视频帧数据

void CALLBACK fRealDataCallBack(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void *pUser)

{

UNREFERENCED_PARAMETER(lRealHandle);

UNREFERENCED_PARAMETER(pUser);

DWORD dRet = 0;

BOOL inData = FALSE;

switch (dwDataType)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值