海康摄像头拍照(java版,拿走即用)
这是我测试用的main方法
把代码复制走, 只需要修改一下录像机的ip账号密码就可以了
我测试的时候是吧录像机下的所有摄像头都进行了拍照, 你可以根据你的需求进行修改
海康的SDK自行去官网下载
(如需要卡口手动抓拍代码,请留言!)
(如果拍照失败出现29: 客服解答是抓拍太频繁,换一种抓拍方式,但是另外一种太麻烦了、
我就直接调取摄像机拍照就行了, 不通过录像机抓取)
package com.qymj.utils.paizhao;import java.io.File;import com.qymj.utils.paizhao.HCNetSDK.NET_DVR_DEVICEINFO;
import com.qymj.utils.paizhao.HCNetSDK.NET_DVR_IPPARACFG;
import com.qymj.utils.paizhao.HCNetSDK.NET_DVR_JPEGPARA;
import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;public class paizhao {/*** @param args* */private static String sDVRIP="127.0.0.1";private static short sDVRPort=8000;private static String sUserName="admin";private static String sPassword="admin123";private static String fileRoot="d:/paizhao";private static int start=0;private static int end=0;private static short wPicSize=0xff;///* 0=CIF, 1=QCIF, 2=D1 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA*/private static short wPicQuality=0;// 图片质量系数 0-最好 1-较好 2-一般public static void main(String[] args) {File f=new File(fileRoot);if(!f.exists()){f.mkdirs();}NET_DVR_DEVICEINFO lpDeviceInfo=new NET_DVR_DEVICEINFO();//加载属性文件//loadProperties();//创建海康SDK实例HCNetSDK hk = HCNetSDK.INSTANCE ;//SDK初始化boolean init=hk.NET_DVR_Init();if(init){//true表示SDK初始化成功}//DVR登录NativeLong userId=hk.NET_DVR_Login(sDVRIP, sDVRPort, sUserName, sPassword, lpDeviceInfo);NET_DVR_IPPARACFG ipparacfg=new NET_DVR_IPPARACFG();ipparacfg.write();Pointer lpIpParaConfig = ipparacfg.getPointer();IntByReference lpBytesReturned = new IntByReference(0);//获取IP接入配置参数boolean configIsOk=hk.NET_DVR_GetDVRConfig(userId, hk.NET_DVR_GET_IPPARACFG, new NativeLong(0), lpIpParaConfig, ipparacfg.size(), lpBytesReturned);ipparacfg.read();if (!configIsOk){//设备不支持,则表示没有IP通道for (int iChannum = 0; iChannum < lpDeviceInfo.byChanNum; iChannum++) {System.out.println(("Camera" + (iChannum +" not support "+ lpDeviceInfo.byStartChan)));}}else{//设备支持IP通道for (int iChannum = 0; iChannum < lpDeviceInfo.byChanNum; iChannum++){if(ipparacfg.byAnalogChanEnable[iChannum] == 1){System.out.println(("Camera" + (iChannum +" 支持 "+ lpDeviceInfo.byStartChan)));}}for(int iChannum =0; iChannum < HCNetSDK.MAX_IP_CHANNEL; iChannum++){if (ipparacfg.struIPChanInfo[iChannum].byEnable == 1){System.out.println("IPCamera" + (iChannum + lpDeviceInfo.byStartChan)+" ip:"+new String(ipparacfg.struIPDevInfo[iChannum].struIP.sIpV4).trim()+" byChannel="+ipparacfg.struIPChanInfo[iChannum].byChannel+" byEnable="+ipparacfg.struIPChanInfo[iChannum].byEnable+" byIPID="+ipparacfg.struIPChanInfo[iChannum].byIPID);}}}System.out.println("登录的userId="+userId);if(end>0 && start<end){for(int iChannum =start; iChannum <=end; iChannum++){NativeLong tdh=new NativeLong(iChannum);NET_DVR_JPEGPARA cs=new NET_DVR_JPEGPARA();cs.wPicSize=wPicSize;cs.wPicQuality=wPicQuality;String fileName=fileRoot+"/"+sDVRIP+"_"+tdh+".jpeg";boolean pz=hk.NET_DVR_CaptureJPEGPicture(userId, tdh, cs, fileName);System.out.println("拍照通道号"+tdh+":"+(pz?"拍照成功照片在"+fileName:"拍照失败!!失败代码:"+hk.NET_DVR_GetLastError()));}}else{for(int iChannum =0; iChannum < HCNetSDK.MAX_IP_CHANNEL; iChannum++){NativeLong tdh=new NativeLong(ipparacfg.struIPChanInfo[iChannum].byIPID+32);String ip=new String(ipparacfg.struIPDevInfo[iChannum].struIP.sIpV4).trim();if (ipparacfg.struIPChanInfo[iChannum].byEnable == 1){NET_DVR_JPEGPARA cs=new NET_DVR_JPEGPARA();cs.wPicSize=wPicSize;cs.wPicQuality=wPicQuality;String fileName=fileRoot+"/"+ip+"_"+tdh+".jpeg";boolean pz=hk.NET_DVR_CaptureJPEGPicture(userId, tdh, cs, fileName);System.out.println("拍照通道号"+tdh+":"+(pz?"拍照成功照片在"+fileName:"拍照失败!!失败代码:"+hk.NET_DVR_GetLastError()));}else{System.out.println("通道号"+tdh+"没有启用!IP="+ip);}}}hk.NET_DVR_Logout(userId);hk.NET_DVR_Cleanup();}
}
海康摄像头拍照(java版,拿走即用)相关推荐
- 基于最新版设备网络SDK集成海康摄像头之Java Demo调试运行教程
Java Demo运行截图: 由于涉及到空间隐私,部分位置会打码. 设备网络SDK 设备网络SDK是基于硬件的SDK,是基于设备私有网络通信协议开发的,为后端设备(嵌入式网络硬盘录像机.视频服务器). ...
- Java版基于springboot+maven海康摄像头sdk抓拍功能的二次开发
相信在用Java开发海康摄像头的小袁袁都很苦恼官网给的SDK,官方的SDK中有demo,有文档,可那大多都是基于C写的文档,找了半天终于找到一个java版本的,进去一看还是用Jfream写的C/S版的 ...
- 海康摄像头的二次开发(java)
海康摄像头的二次开发(java) 我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下. 1.首先到海康的官网下载设备网络SDK: ...
- Java对接海康摄像头坑点总结
一.背景 有一批AI摄像头需要部署到客户方,需要实现的功能:1.摄像头实时预览,摄像头安装在不同地点的内网环境,因此需要通过frpc服务器做内网摄像头的代理:2.摄像头smart事件,进入区域.离开区 ...
- 海康摄像头二次开发python_海康摄像头的二次开发(java)
海康摄像头的二次开发(java) 我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下. 1.首先到海康的官网下载设备网络SDK: ...
- python版海康摄像头抓拍图片
python版海康摄像头抓拍图片 最近尝试使用海康摄像头做项目,里面有个图片抓拍的环节,我参考了网上的资料用OpenCV实现的,具体代码如下: #!/usr/bin/env python # # 这个 ...
- 海康摄像头java的二次开发,集成windows和linux两个版本的报警布防
先说一下背景.公司目前项目需要使用海康摄像头的电子围栏功能,也就是报警布防流程的升级版.包括进入区域.离开区域.区域入侵等报警功能的集成.毕竟第一次集成硬件产品的sdk.研究和测试了两三天终于把win ...
- 海康摄像头-java通过opencv实现
下载opencv4.3 链接:https://pan.baidu.com/s/1XJQRYnNYYFpb447HC3rxEQ 提取码:r7zg 复制这段内容后打开百度网盘手机App,操作更方便哦 打开 ...
- 海康摄像头Sdk的使用 java Demo(idea 车牌识别,报警监听)
最近用到海康摄像头,起初遇到许多问题,发现网上没有比较直观的java demo,现在将其总结下,希望可以帮助大家 初步使用sdk 首先去官方下sdk:http://www.hikvision.com/ ...
- 海康摄像头前端调用实时画面解决方案(无插件版开发)
文章目录 前言 一.海康摄像头 二.尝试方案 1.方案1 2.方案2 3.方案3 总结 前言 项目中有一个需求,是需要把海康摄像机的实时画面在项目前端的页面中展示出来.本文的技术栈主要用到了vue3. ...
最新文章
- 1、C语言面试笔试---变量定义和声明
- Sql Server的弱口令入侵测试以及防范
- boost::coroutine2模块实现相同的边缘的测试程序
- mongoose操作mongodb
- 分配菜品类别: 展开 收起_运营技巧:让产品数据决定菜品的去与留
- 从入门到入土:nmap出击:使用nmap扫描某台靶机,给出并解读靶机环境的配置情况
- getUpdateCount成员函数不能返回正确数量
- (第3章)Docker核心原理解读
- 小麦亩产一千八(kela)
- 时艳强对话王团长:EOS如果失去社群共识,也就没什么价值了
- 怎么利用好公众号后台做好分析报告
- 分类刷题:A1008乘电梯
- Word编辑公式时,公式后的序号靠下,不能再行中间显示
- 计算机网络笔记(油管FreeCodeCamp)Computer Networking
- RocketMQ事务消息
- 罗克韦尔自动化2018年自动化博览会开始接受注册
- Medium - 《计算机程序设计艺术》发展史
- IE浏览器安装zblog时,勾选了同意协议,下一步按钮呈现灰色状态不能点击的解决方法
- 浅谈 Node.js 热更新
- 安卓逆向——某宝APP抓包之环境对比 (一)
热门文章
- word中 两页同时并排显示 与 单页显示 之间的切换
- 华为机试HJ70:矩阵乘法计算量估算
- 统计学中p值计算公式_统计学中P值的计算!
- c语言如何文件指针指向开头,fseek设置好文件指针 在C语言中fseek()的功能
- 操作系统和编程语言简单描述
- SQL server 删除注册表
- cad计算机土方软件,CAD土方工程量算量插件(土方工程量计算工具)V1.1 正式版
- word2010 二级标题不跟随一级标题编号
- html中一级标题和二级标题,如何设置一级二级三级标题
- Java 图形界面开发--图文并茂建立学生管理系统