先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar)。鬼能想得到会这么命名。

下面开始吧。

把从官网下载的SDK(和当前系统对应)解压,把库文件整个拷贝到某个目录(我是D:\hik\lib),然后把D:\hik\lib和D:\hik\lib\HCNetSDKCom加入到系统环境变量path中。可以尝试从代码中把这两个文件夹加入path,我没有试成功。

项目引入jna.jar和examples.jar这两个jar包。注意:一定要用官网SDK里面的,千万不要用其他版本的jna。

从ClientDemo中把HCNetSDK.java拷贝到自己的项目中(这就是神奇的SDK)。

开始主体,Java代码:

public class CameraManager {

private static Logger logger = LoggerFactory.getLogger(CameraManager.class);

private static HCNetSDK sdk = HCNetSDK.INSTANCE;

private static NativeLong userId = new NativeLong(-1);//用户登录ID,值为0,1,2...

private static NativeLong startChan = new NativeLong(-1); // start channel number

private void login(String ip, short port, String username, String pwd){

//sdk初始化

if (!sdk.NET_DVR_Init()){

logger.error("海康SDK初始化失败!" + sdk.NET_DVR_GetLastError());

}

//注册设备

NET_DVR_DEVICEINFO_V30 deviceInfo = new NET_DVR_DEVICEINFO_V30();

//登录

userId = sdk.NET_DVR_Login_V30(ip, port, username, pwd, deviceInfo);

if (userId.intValue() < 0){

logger.error("摄像头用户登录失败!Err:" + sdk.NET_DVR_GetLastError());

}

startChan.setValue(deviceInfo.byStartChan);

}

public boolean takePic(String ip, short port, String username, String pwd) {

if (userId.intValue() < 0 || startChan.intValue() < 0) {

logger.info("执行海康摄像机登录,ip[{}],port[{}],username[{}].",ip,port,username);

login(ip,port,username,pwd);

}

logger.info("准备拍照,userId:[{}],startChan:[{}]",userId.intValue(),startChan.intValue());

//拍照

NET_DVR_JPEGPARA strJpeg = new NET_DVR_JPEGPARA();

strJpeg.wPicQuality = 1; //图像参数

strJpeg.wPicSize = 2;

String filePath = "E:\\123q.jpg";

boolean b = sdk.NET_DVR_CaptureJPEGPicture(userId, startChan, strJpeg, filePath);//尝试用NET_DVR_CaptureJPEGPicture_NEW方法,但是不是报43就是JDK崩溃....

if(!b){//单帧数据捕获图片

System.out.println("抓拍失败!" + " err: " + sdk.NET_DVR_GetLastError());

}

else{

System.out.println("抓拍成功,buffer:"+jpegStringBuffer);

}

return b;

}

public void logout(){

sdk.NET_DVR_Logout(userId);

sdk.NET_DVR_Cleanup();

}

}

完成。以上代码中我删除了异常处理。记得加上。

java摄像头_Java实现 海康摄像头抓拍图像相关推荐

  1. java连接摄像头_Java实现 海康摄像头抓拍图像(示例代码)

    先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. 把从官网下载的SDK(和当前 ...

  2. java连接海康摄像头_Java实现 海康摄像头抓拍图像

    先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. 把从官网下载的SDK(和当前 ...

  3. java 摄像头_Java 实现 海康摄像头抓拍图像 Windows、Linux

    先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. Windows 把从官网下载 ...

  4. java web页面调用海康摄像头

    之前做过web页面调用海康显示4个摄像头.网上web调用的确实比较少,我做的时候参考了http://blog.csdn.net/lucius93/article/details/75308165,但也 ...

  5. 前端如何显示服务器摄像头,浏览器显示海康摄像头实时预览画面纯前端解决方案...

    php 实时输出内容到浏览器 php 实时输出内容到浏览器 当你在处理一个过程需要耗时很长,但你又需要适时的知道程序当前的处理状况的时候,该怎么办呢?下面就分享一下如何使用php及时的输出当前结果到浏 ...

  6. 海康摄像头二次开发python_海康摄像头的二次开发(java)

    海康摄像头的二次开发(java) 我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下. 1.首先到海康的官网下载设备网络SDK: ...

  7. 海康摄像头忘记密码,自己如何快速重置密码

    海康摄像头,自助重置密码. 一.摄像头忘记密码情况 在项目工程中,有各种各样的原因,导致摄像头密码忘记,有的时安装时安装工程商没有把密码留下来,有的是客户自己设置了密码后忘记了密码,还有的是客户买的新 ...

  8. Java版基于springboot+maven海康摄像头sdk抓拍功能的二次开发

    相信在用Java开发海康摄像头的小袁袁都很苦恼官网给的SDK,官方的SDK中有demo,有文档,可那大多都是基于C写的文档,找了半天终于找到一个java版本的,进去一看还是用Jfream写的C/S版的 ...

  9. Java对接海康摄像头坑点总结

    一.背景 有一批AI摄像头需要部署到客户方,需要实现的功能:1.摄像头实时预览,摄像头安装在不同地点的内网环境,因此需要通过frpc服务器做内网摄像头的代理:2.摄像头smart事件,进入区域.离开区 ...

  10. 海康摄像头Sdk的使用 java Demo(idea 车牌识别,报警监听)

    最近用到海康摄像头,起初遇到许多问题,发现网上没有比较直观的java demo,现在将其总结下,希望可以帮助大家 初步使用sdk 首先去官方下sdk:http://www.hikvision.com/ ...

最新文章

  1. Linux计划任务详解
  2. Unicode编码Linux下的转换
  3. 谈谈Circuit Breaker在.NET Core中的简单应用
  4. JMS与Spring之二(用message listener container异步收发消息)
  5. linux 二进制转十进制脚本,linux-shell 脚本转换 十六进制 十进制 八进制 二进制...
  6. 9.6.1 三维数据可视化之曲面图
  7. java语言的主要特点有简单性,太厉害了!
  8. 《Windows Mobile平台应用与开发》写作工作顺利进行中
  9. oracle11g 日期型,Oracle11g: datetime
  10. 【Mybatis架构】Mapper映射文件中的#{}与${}
  11. Delphi 7 升级到 Delphi 2010 总结
  12. endnotex8使用教程_「endnote教程」EndNote x8基础使用教程(一) - seo实验室
  13. 程序员有文化,多可怕!
  14. Linux操作系统Maven【The JAVA_HOME environment variable is not defined correctly】
  15. python plc fx5u_三菱FX5U可编程控制器硬件及指令篇
  16. 12个面向前端开发者真正有用的 VSCode 插件工具
  17. Sphinx 之 Coreseek、Sphinx-for-chinaese、Sphinx+Scws 评测
  18. EVE-ng模拟器安装教程和使用教程
  19. PCB板的跨分割设计
  20. 淘宝会不会毁了携程?

热门文章

  1. ICCV2021 多目标跟踪(MOT)汇总
  2. QAC/QAC++静态软件代码测试分析-试用工具
  3. IIS的ISAPI接口简介
  4. 粒子群算法的适应度函数问题
  5. 航天器轨迹预测——根据速度和位置确定初轨
  6. m4a录音文件损坏修复_m4a音频文件损坏修复!
  7. word删除空白页的6种方法和技巧
  8. 【Dll调试】DLL调试方法
  9. validate 属性
  10. 关于LinkList和LNode*