海康威视SDKjava二次开发身份证人脸识别

本文介绍了使用Java进行海康威视SDK的二次开发,以实现身份证人脸识别功能。在对接过程中遇到的主要挑战包括SDK的C++底层、Swing桌面应用示例与web项目的嵌入,以及手册与示例版本不一致。文中详细阐述了加载库文件、配置路径、移植示例代码、注册及布防服务,以及报警回调函数的实现步骤,为其他开发者提供了解决此类问题的思路。
摘要由CSDN通过智能技术生成

前言

本来一个很简单的SDK接口对接,折腾了好久;总结下原因有:

海康的SDK底层使用C++写的,我不熟悉C++;
海康Java源码示例写的是一个Swing桌面应用,我需要的是嵌入到web项目;
海康《设备网络SDK使用手册》中的示例是用C++写的;并且会出现使用手册和Java源码示例版本不匹配的情况(用手册版本高于Java源码示例版)  
我的需求

使用海康认证对面设备在刷身份证和人脸识别通过后,取到身份证信息和人脸照片并且传到页面上。
代码处理
1.将SDK开发包【库文件】里的HCNetSDK.dll、HCCore.dll、PlayCtrl.dll、SuperRender.dll、AudioRender.dll、HCNetSDKCom文件夹、ssleay32.dll、libeay32.dll文件均要加载到程序里面,【HCNetSDKCom文件夹】(包含里面的功能组件dll库文件)需要和HCNetSDK.dll、HCCore.dll一起加载,放在同一个目录下(我的事springboot项目,放在resources目录下),且HCNetSDKCom文件夹名不能修改。
2.HCNetSDK INSTANCE = (HCNetSDK) Native.loadLibrary(“E:\project\renliantext\src\main\resources\lib\HCNetSDK”, HCNetSDK.class);修改HCnetSDK的引入路径。
3.将路径:将Demo示例\4- Java 开发示例\2-报警布防监听\AlarmJavaDemo\src\alarmjavademo的demo包移植过来并且解决报错信息,就是导入包的问题 手动引入jar包或者从MAVEN再导入就好
4,写Service类,调用接口进行注册,布防。布防成功后设置报警回调函数
5,写serviceimp类,就是报警回调函数的实现在里面取到想要的数据。
下面是代码
Service类源码 里面有main方法 可以先进行测试看时候可以注册成功已经设置回到函数成功

	package com.jeeplus.modules.xwhj.haikang.service;

import com.jeeplus.modules.xwhj.haikang.HCNetSDK;
import com.jeeplus.modules.xwhj.haikang.Haikangimp;
import org.springframework.stereotype.Service;

import javax.swing.*;
import java.util.Timer;
import java.util.TimerTask;

@Service
public class Haikang {


static HCNetSDK hCNetSDK = HCNetSDK.INSTANCE;
static  HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息
static HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息
static String m_sDeviceIP="192.168.19.249";//已登录设备的IP地址
static String m_sUsername="admin";//设备用户名
static String m_sPassword="xwkj0713";//设备密码

static int lUserID;//用户句柄
static int lAlarmHandle;//报警布防句柄
static int lListenHandle;//报警监听句柄

 /*  FMSGCallBack fMSFCallBack;//报警回调函数实现
AlarmJavaDemoView.FMSGCallBack_V31 fMSFCallBack_V31;*///报警回调函数实现



public void logintext() {//GEN-FIRST:event_jButtonLoginActionPerformed

        hCNetSDK.NET_DVR_Init();

    //注册之前先注销已注册的用户,预览情况下不可注销
    if (lUserID > -1) {
        //先注销
        hCNetSDK.NET_DVR_Logout(lUs
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值