Springboot集成海康威视门禁设备,车牌识别摄像头,人脸设备

article/2025/6/26 0:38:56

海康设备集成springboot


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 海康设备集成springboot
  • 前言
  • 一、海康SDK包
    • 根据下载的SKD包中的DEMO示例连接设备
      • 创建一个springboot项目将库文件放入根目录lib文件下(lib自己创建)maven 加载一下
      • 连接设备
      • 海康设备下载网络设备搜索工具能找到设备后将参数写到AcsMain的main方法中
  • 二、车牌识别
  • 三、单元门禁DEMO中Alarm进行监听


前言

公司要做一个智慧社区项目,之前是通过海康平台的接口简单好用,只不过现在收费啦,所有要换成SDK的方式来获取数据,现在来总结一下经验


提示:以下是本篇文章正文内容,下面案例可供参考

一、海康SDK包

海康SDK包下载

在这里插入图片描述

根据下载的SKD包中的DEMO示例连接设备

创建一个springboot项目将库文件放入根目录lib文件下(lib自己创建)maven 加载一下

在这里插入图片描述

连接设备

1.HCNetSDK.dll这个文件根据自己的来

代码如下(示例):

/*** 根据不同操作系统选择不同的库文件和库路径* @return*/private static boolean createSDKInstance(){if(hCNetSDK == null){synchronized (HCNetSDK.class){String strDllPath = "";try{//System.setProperty("jna.debug_load", "true");modulesif(osSelect.isWindows())//win系统加载库路径strDllPath = System.getProperty("user.dir") + "\\modules\\trafficrecord\\lib\\HCNetSDK.dll";else if(osSelect.isLinux())//Linux系统加载库路径//获取到的path是file:/home/trafficrecord-1.0-SNAPSHOT.jar!/BOOT-INF/classes!/lib/linux/libhcnetsdk.so格式的//strDllPath = AcsMain.class.getClassLoader().getResource("/lib/linux/libhcnetsdk.so").getPath().substring(5);strDllPath =  "/usr/lib64/libhcnetsdk.so";System.out.println("===============================================");System.out.println("strDllPath==="+strDllPath);hCNetSDK = (HCNetSDK) Native.loadLibrary(strDllPath, HCNetSDK.class);}catch (Exception ex) {System.out.println("loadLibrary: " + strDllPath + " Error: " + ex.getMessage());return false;}}}return true;}

海康设备下载网络设备搜索工具能找到设备后将参数写到AcsMain的main方法中

请添加图片描述

main方法连接设备我这里将ip,端口,账号,密码设为参数啦

public static void init(String ip,String userName,String password,String port) {if(hCNetSDK == null){if(!createSDKInstance()){log.info(ip+"    初始化SDK失败");return;}}//linux系统建议调用以下接口加载组件库if (osSelect.isLinux()){HCNetSDK.BYTE_ARRAY ptrByteArray1 = new HCNetSDK.BYTE_ARRAY(256);HCNetSDK.BYTE_ARRAY ptrByteArray2 = new HCNetSDK.BYTE_ARRAY(256);//这里是库的绝对路径,请根据实际情况修改,注意改路径必须有访问权限String strPath1 = "/usr/lib64/libcrypto.so.1.1";String strPath2 =  "/usr/lib64/libssl.so.1.1";//String strPath1 = AcsMain.class.getClassLoader().getResource("/lib/linux/libcrypto.so.1.1").getPath().substring(5);//String strPath2 =  AcsMain.class.getClassLoader().getResource("/lib/linux/libssl.so.1.1").getPath().substring(5);System.out.println("===============================================");System.out.println("strPath1==="+strPath1);System.out.println("strPath2==="+strPath2);System.arraycopy(strPath1.getBytes(), 0, ptrByteArray1.byValue, 0, strPath1.length());ptrByteArray1.write();hCNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArray1.getPointer());System.arraycopy(strPath2.getBytes(), 0, ptrByteArray2.byValue, 0, strPath2.length());ptrByteArray2.write();hCNetSDK.NET_DVR_SetSDKInitCfg(4, ptrByteArray2.getPointer());String strPathCom = "/usr/lib64/";HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH();System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length());struComPath.write();hCNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer());}hCNetSDK.NET_DVR_Init();//开启SDK日志打印boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false);login_V40(ip,userName,password,Short.parseShort(StringUtils.isEmpty(port) ? "8000" : port));	//登陆设备}

成功之后可以最设备上的人员进行增删改查,以及事件的查询,我是根据定时任务去拉取的

在这里插入图片描述

二、车牌识别

车牌识别案例
设备遍历多线程去监听车辆

在这里插入图片描述

三、单元门禁DEMO中Alarm进行监听

在这里插入图片描述


总结:多看官方文档


http://chatgpt.dhexx.cn/article/ns8BG6tm.shtml

相关文章

java海康摄像头添加人脸_java及opencv实现调用本地摄像头、网络摄像头完成人脸检测、人脸收集、人脸识别、性别识别...

这几年人脸识别比较流行,各种应用场景都用到了人脸识别,如:无人店、火车站检票口、小区门禁、智慧展厅、某些银行网点等,这也是未来生活的一种趋势。我也是好奇想研究一下,百度google了一大堆资料,发现网上…

JAVA使用海康SDK摄像头人体目标识别模块

JAVA使用海康SDK 首先到海康威视官网下载SDK 海康威视SDK 1.导入项目时候需要注意,linux环境跟windows不同的 区别如下: public interface HCNetSDK extends Library //linux public interface HCNetSDK extends StdCallLibrary //windows2.初始化SDK …

PDF图片文字识别

工具 adobe acrobat XI PRO 没有安装该软件的,需下载安装,有了此软件,pdf随意改,必备! 步骤 1.打开pdf文件,点击工具---文本识别---在本文件中 2.选择“所有页面”,点击“编辑” 3.选择语言&a…

利用Java实现的图片中文字识别,你学会了吗?

一. 背景 今天有粉丝向波哥提出了这样一个疑问:给出一张图片,如何利用Java中的技术获取图片中的文字信息?针对这个问题,你有么有解决办法呢?如果你没有想到好的解决思路,也不用怕,看波哥来给你…

Python利用百度AI图像识别技术识别图片

准备工作:在百度云控制台创建文字识别模块;装备几张简单的有文字的图片。 百度官方文档:http://ai.baidu.com/docs#/OCR-API/7e4792c7 然后进入编码阶段: 如下代码获取access_token client_id和client_secret是百度云列表提供…

java做图文识别

现在的世界,什么都需要人工智能AI进行处理,那么,对于Java程序猿来说,是不是有些工作是不是就不能胜任呢,答案是显然是不一定的,对于图片识别来说,这个任务就可以使用Java进行开发,虽…

【计算机视觉】人脸识别--人脸识别技术综述

https://www.cnblogs.com/huty/p/8517691.html 参考:http://www.xuehuile.com/thesis/9a81f680054441ad907934b07b465c8e.html,本文做了相关修改。 1 人脸识别技术概述 近年来,随着计算机技术的迅速发展,人脸自动识…

厉害了,用 Java 也能实现图片识别!

点击上方蓝色“终端研发部”,选择“设为星标” 学最好的别人,做最好的我们 最近闲来无事研究了一下用 Java 如何模拟浏览器的行为,在实验登录的步骤时碰到了识别验证码的问题,于是在网上查找了关于 Java 如何进行图片识别验证码&a…

图片验证码识别教程技术原理分析

面对技术这片大海,我们都是一个渔民,三天打鱼,两天结网。我是把过去自己所掌握的所有技术总结成一张网,若一个技术干货分享的东西离我的网还太远,我就会放弃去了解。因为如果不能连结到这张网中,形成一个节…

Java OCR tess4j 图片识别技术(三)

先贴代码段 tess4j整个的代码调用到时是蛮简单的。 1.先去官网下载:http://tess4j.sourceforge.net/ 我的是Tess4J-3.4.0版,目录如下: 2.新建项目,将lib,tessdata,src复制到新建的项目中 3.将lib下的jar包加到build path 中 项目目录…

Java图像识别技术:Test4J

简介 做图像识别,可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了。 Test4J官网&…

计算机识别图像的原理,什么是图像识别技术?图像识别技术原理介绍

图像识别技术是人工智能的一个重要领域。它是指对图像进行对象识别,以识别各种不同模式的目标和对像的技术。 图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。图像识别,顾名思义,就是对图像做出各种处理、分析,最终识别我们所要研究的目标。今天所…

图片识别——需求篇

最近由于工作的关系,学习了一些关于图片识别的知识,并成功用于解决实际问题当中,特此一一记录下来,以备后用,同时希望对大家有用。 场景 企业端用户在注册时,会上传一下公司的Logo。上传的步骤是:选择本地Logo图片,点上传,图片被上传至公司图片服务器(此时这张图片有…

Ubuntu重启黑屏——Intel微码更新兼容性问题

9月13日前后对Ubuntu 22.04进行软件更新,再开机后经过grub直接黑屏,没有任何报错信息。 对于默认不显示Grub菜单的机器,可以在闪过紫屏前长按Esc进入Grub菜单。由于此时仍能进入Grub菜单界面,此处优先选择使用自带的Recovery Mod…

华为-微码开发入门 - 环境搭建

搭建环境 安装 Node.js 前言: We码的整个开发依赖 Node.js 环境,我们需要对 Node.js 做一个简单的了解。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,类似Java的JRE,JRE有一个称为Java Virtual Machine&#xff08…

Brocade FC微码升级

一、组网图 无 二、问题描述 在实际生产环境下,不少项目都存在着 Brocade FC 交换机 Firmware 版本过旧的问题,需要将 Firmware 版本升级至新版本。 三、过程分析 具体升级流程: 四、解决方法 1.搭建FTP环境 搭建FTP环境可以下载3cdaemon-ftp的免安装版小工具…

IBM X3550 m4 微码升级

Ibm pc server升级顺序为IMM->UEFI->DSA(->FPGA) 微码下载 进入IBM官网->支持->fix central 选择升级设备对应的微码或补丁 PCserver 微码升级先升级IMM 选择IMM 选择最新版下载,升级测试本机IMM版本为1.50 最新6.60,时间相隔六年多&am…

微信小程序生成二微码(JAVA)

前段时间在项目中,写了一个生成微信二微码的功能,之所以会开发这个功能,是因为我们做的小程序要进行推广让用户扫我们做的小程序的二微码进行去体验,功能实现的场景大概是: 后台生成小程序二微码,返回到后台页面进行展…

联想SR850系列微码升级

1. 通过服务器管理口(X-clarity controller)收集日志.方法是使用直连线(此网口可自适应 连接方式)将此网口连接于一台终端机(笔记本或台式机). 2. .将笔记本的网卡 IP 设置为与“192.168.70.125”处于同网段的 IP(如: 192.168.70.…

IBM V7000存储升级微码

一、前期准备 目前使用的V7000型号为2076-124,没有扩展柜,当前版本为6.4.1.4,比较老旧,需要升级到相对新的版本。 1.确定当前机器可升级的最高版本 打开网页 http://www-01.ibm.com/support/docview.wss?rs=591&uid=ssg1S1003850 ,可以看到下表,可以看到2076-124这个…