java连接海康摄像头_Java实现 海康摄像头抓拍图像
先抱怨一下,打死都想不到,海康的摄像头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实现 海康摄像头抓拍图像相关推荐
- java 连接mysql工具类_java连接Mysql数据库的工具类
一个封装好的链接Mysql数据库的工具类,可以方便的获取Connection对象关闭Statement.ResultSet.Statment对象等等 复制代码 代码如下: package myUtil ...
- java连接sql数据库代码_Java如何连接Sql的数据库
Java如何连接Sql的数据库 Java连接数据库,除了用Jdbc-Odbc桥接外,还有更实用的方法么?我是指不用配置DSN,直接和Sql连接的那种,需要安装什么驱动么?--------------- ...
- java连接mysql数据库方法_java连接mysql数据库的方法详解
连接mysql数据库在java中有几种常用的方式有官方提供的JDBC连接MySQL数据库也有后面我们讲到的其它的方式连接数据库,具体如下. JDBC连接MySQL数据库 首先要下载Connector/ ...
- java 连接mongodb 集群_Java 连接MongoDB集群的几种方式
先决条件 先运行mongodb肯定是必须的,然后导入以下包: import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; im ...
- java连接摄像头_Java实现 海康摄像头抓拍图像(示例代码)
先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. 把从官网下载的SDK(和当前 ...
- java 摄像头_Java 实现 海康摄像头抓拍图像 Windows、Linux
先抱怨一下,打死都想不到,海康的摄像头SDK居然是一个Java类,还有必须的两个jar包(jna.jar,examples.jar).鬼能想得到会这么命名. 下面开始吧. Windows 把从官网下载 ...
- java制作h5视频聊天_JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路。...
JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路. 2018-09-17 问题:大华IPC枪型摄像头需要在WEB中显示实时监控视频,官方提供的SDK只有C#的桌面程序访问方式. 解决 ...
- java连接本地oracle数据库_JAVA连接oracle数据库的三种方式
1 传统方式连接数据库(效率较低) 此方法连接数据库,其性能.可靠性与稳定性随着用户访问量的增加逐渐下降,跟踪测试表明,其根本问题与Connection对象的创建有关.不过在这里还是讲一下此方法的实现 ...
- java连接mysql 不推荐_java连接mysql
看了一阵 spring 框架,不怎么好懂,最近脑子也有点不够用,于是乎来点简单的,用java连接数据库玩玩,顺便回顾一下数据库的增删改查~ 使用的是 eclipse .创建了个项目,然后网上找了篇教程 ...
最新文章
- HMM——维特比算法(Viterbi algorithm)
- GitHub托管项目
- ORACLE EBS中OAF屏蔽的错误
- SourceInsight 4.0 之二 项目文件关联
- 哪里可以培训计算机运维,临武县运维工程师培训班_郴州科泰计算机学校
- BZOJ3570 : DZY Loves Physics I
- python二级简书_12月4日,总结发现杯,备战python二级
- 基于 frida 实现的逆向工具包 hooker
- Python判断一个字符串是否可以转换为数字(字符串转数字、字符串转整形、字符串转int、字符串转浮点型)
- java lambda map循环停止_Map 使用 Lambda 的 forEach 实现跳出循环操作
- 帆软超级链接对象、插入子报表、网页框传参的个人使用心得
- 如何在CentOS 7上安装和安全配置MariaDB 10
- 打开Word时会出现错误的解决办法
- Ubuntu下将TinyOS移植到CC2430芯片
- 北邮iptv用WindowsMediaplayer打不开的解决办法
- Android Permission is only granted to system apps问题
- 创业反鸡汤--3.谈待遇
- DP转HDMI方案设计/DP转HDMI/VGA方案CS5216/CS5218/CS5262方案应用参数详细对比
- 信息学奥赛一本通 1386:打击犯罪(black)
- keilC51编译常见错误和警告说明
热门文章
- H5页面-两步搞定文字首行缩进
- Python 学习笔记 列表 range() xxx XXX
- ASP.NET MVC大文件上传GB级
- 跨年烟花代码加文案,确定不来看看吗
- Adobe acrobat Pro翻页显示正在启动识别、正在加载图像解决方法
- 显卡机器linux 6卡挖矿,显卡挖矿是什么意思?购买显卡矿机应该注意什么?
- 为什么BAT干不掉海康威视
- 【c++ debug】rospkg.common.ResourceNotFound: rosbag
- 数据产品经理修炼手册_数据产品经理需要了解的大数据平台架构
- rtthread工业使用_基于RTThread 的LwIP使用讲解