海康摄像头二次开发python_海康摄像头的二次开发(java)
海康摄像头的二次开发(java)
我第一次接触海康摄像头的二次开发的项目,一开始的时候摸不清套路,走了不少弯路,现在准备把我的一些经验留下来,让大家参考一下。
1、首先到海康的官网下载设备网络SDK:http://www.hikvision.com/cn/download_61.html,下载的时候注意版本号;
2、然后将下载的文件解压后,可以看到Demo示例、库文件、头文件和开发文档以及一个说明文本(注意:txt文档一定要仔细看,拷贝文件也不要出错,要不然后期做项目容易出现错误还不好找);
3、这是我自己写的一个很简陋的项目,如有需要可以去下载:http://download.csdn.net/download/u012492535/10045386,虽然简陋了一点,但是功能还是可以实现的(^▽^);
4、我们做海康的项目之前肯定会先看到这张流程图,里面的虚线部分是可选的,就是可以不必管,只看实线框部分的即可。
我们按照他的流程往下看:
1、初始化设备SDK,对整个网络设备的初始化、内存分配等操作。
代码如下:
HCNetSDK sdk = HCNetSDK.INSTANCE;
sdk.NET_DVR_Init();//返回booleaan值
2、注册设备,实现用户的注册功能,注册成功后,返回的用户ID 作为其他功能操作的唯一标识。
代码如下:
NativeLong user = new NativeLong(-1);// 注册设备
NET_DVR_DEVICEINFO_V30 devinfo = new NET_DVR_DEVICEINFO_V30();
user = sdk.NET_DVR_Login_V30(ipAddress, (short) port, userName,password, devinfo);//返回一个用户编号
3、设备工作状态的获取(参数配置):
代码如下:
NET_DVR_DEVICEINFO_V30 devinfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30();// 设备信息
IntByReference ibrBytesReturned = new IntByReference(0);// 获取IP接入配置参数
NET_DVR_CAMERAPARAMCFG_EX struCamcfg = new NET_DVR_CAMERAPARAMCFG_EX();
struCamcfg.write();
Pointer lpIpParaConfig = struCamcfg.getPointer();
boolean flg =sdk.NET_DVR_GetDVRConfig(user,HCNetSDK.NET_DVR_GET_CCDPARAMCFG,
new NativeLong(0xFFFFFFFF), lpIpParaConfig,struCamcfg.size(), ibrBytesReturned);
struCamcfg.read();
4、注销设备:
代码如下:
sdk.NET_DVR_Logout(user);//注销设备
5、释放SDK空间:
代码如下:
sdk.NET_DVR_Cleanup();//释放SDK
6、完整代码如下:
public static void getPicturedisposition(String ip, short port,
String userName, String password) {
// 初始化设备
HCNetSDK sdk = HCNetSDK.INSTANCE;
// 是否初始化成功
if (!sdk.NET_DVR_Init()) {
System.out.println("初始化失败");
return ;
}
// 注册设备
NativeLong user = new NativeLong(-1);
// 设备信息
NET_DVR_DEVICEINFO_V30 devinfo = new HCNetSDK.NET_DVR_DEVICEINFO_V30();
// 返回一个用户编号
user = sdk.NET_DVR_Login_V30(ip, port, userName, password, devinfo);
int Iuid = user.intValue();
if (Iuid < 0) {
System.out.println("注册失败");
return ;
}
// 设备信息
boolean bool = false;
if (!bool) {
IntByReference ibrBytesReturned = new IntByReference(0);// 获取IP接入配置参数
NET_DVR_CAMERAPARAMCFG_EX struCamcfg = new NET_DVR_CAMERAPARAMCFG_EX();
struCamcfg.write();
Pointer lpIpParaConfig = struCamcfg.getPointer();
boolean flg = sdk.NET_DVR_GetDVRConfig(user,
HCNetSDK.NET_DVR_GET_CCDPARAMCFG,
new NativeLong(0xFFFFFFFF), lpIpParaConfig,
struCamcfg.size(), ibrBytesReturned);
struCamcfg.read();
if (!flg) {
System.out.println(sdk.NET_DVR_GetLastError());
}
// 获取图像参数
System.out.print("亮度是:"
+ struCamcfg.struVideoEffect.byBrightnessLevel);
System.out.print("|对比度是:"
+ struCamcfg.struVideoEffect.byContrastLevel);
System.out.print("|饱和度是:"
+ struCamcfg.struVideoEffect.bySaturationLevel);
System.out.print("|色调是:" + struCamcfg.struVideoEffect.byHueLevel);
System.out.print("|(锐度)清晰度是:"
+ struCamcfg.struVideoEffect.bySharpnessLevel);
System.out.print("|(防补光过曝)使能是:"
+ struCamcfg.struVideoEffect.byEnableFunc);
System.out.print("|强光抑制等级:"
+ struCamcfg.struVideoEffect.byLightInhibitLevel);
System.out
.println("|灰度值域" + struCamcfg.struVideoEffect.byGrayLevel);
}
// 注销设备
sdk.NET_DVR_Logout(user);
// 释放SDK
sdk.NET_DVR_Cleanup();
}
7、效果图
海康摄像头二次开发python_海康摄像头的二次开发(java)相关推荐
- sw二次开发 python_基于C#的SolidWorks二次开发.doc
摘要: 气动电阻点焊钳已经被各大汽车制造厂商广泛运的用于汽车焊接工艺中.它以无污染.压力稳定.动作敏捷等优点逐步替代了国内常见的液压传动焊钳,改变了液压传动滞缓的现象,从而达到了焊接循环的要求.本次毕 ...
- 逻辑回归二分类算法python_机器学习第七周--二分类算法逻辑回归
一.Logistic分类算法 逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR ...
- 海康接口开发之访客登记(二) 推送访客信息
前言 海康接口开发之访客登记(一) 获取人员信息 海康接口开发之访客登记(二) 推送访客信息 一.步骤 感觉这里没什么好说的,就是获取些控件值,序列化一下到json然后往接口地址推送,直接贴代码吧=. ...
- TSINGSEE青犀视频与海康合作研发的RTMP高清推流摄像头应该如何选择?
现在越来越多地方需要安装监控设备,监控设备的存在可以更好的保护我们的财产,并且出现纠纷或者紧急事件时,可以提供一个良好的视频举证还原现场,为大家创造一个安全的环境. TSINGSEE青犀视频今年和海康 ...
- 两个rtsp同时抓流_海康摄像头同时添加到两台海康硬盘录像机上
相信大家都有这种经历,我我为啥要多买两个摄像头呀,我直接一个摄像头添加到两台硬盘录像机上不香吗? 海康摄像头一般不建议同时添加到超过三台录像机,由于取流限制~ 那么如何同时添加到两台海康录像机上呢? ...
- 文化中国 系列二:纪连海读历史品人物
系列二:纪连海读历史品人物 主讲人:纪连海 讲题:汉武大帝刘彻.清太宗孝庄文皇后博尔济吉特氏.历史上的非凡女人 6.[视频点播及迅雷下载][纪连海][文化中国]话说汉武大帝 完整性说明:55集,完整. ...
- 在vue中使用海康插件实现视频实时监控(海康插件)
在vue中使用海康插件实现视频实时监控(海康插件) 首先 下载并安装海康插件 webcontrol.exe 然后 直接就写代码把,所有方法都是海康他们直接封装好的demo 初始化之后,后台把密钥和一些 ...
- creo二次开发python_使用C#/.net语言进行ProE/Creo二次开发
随便哪个版本的Visual studio 设置系统环境变量 通常这个环境变量在安装ProE的时候如果选择安装VBAPI就会自动设置 注意32位和64位操作系统路径是不同的.我的是64位操作系统. 然后 ...
- 文思海辉口碑很差_文思海辉·金融打造全自动、100%话务覆盖的智能质检系统
以人工抽检为主的传统质检,一个质检员每天最多检测50个业务文件,而抽检比例仅能达到1-5%,如管中窥豹.存在人工成本高.覆盖率低.质检效果差.数据汇总难等等缺点.在客户需求多样化.运营管理精细化的今天 ...
最新文章
- Oracle三级联动单表地址数据
- DFT,DTFT,DFS,FFT之间的关系以及序列补零和插值对频域的影响
- 完美解答35K月薪的MySQL面试题(四)MySQL是如何加行锁的?
- Hive分析窗口函数(一) SUM,AVG,MIN,MAX
- Ofbiz 电子商务平台
- 小程序 自定义组件报错[“usingComponents“][“my-list“] 未找到
- el表达式 循环_EL表达式和JSTL标签库(百战程序员047天)
- Crawler - 如何爬取列表后进行文章的爬取
- python2和3语法区别_python2和3语法区别
- AMI corpus download
- 【LuoguP5289】[十二省联考2019] 皮配
- 守护线程C语言windows,C言语如何利用子线程刷新主线程
- Cesium:鼠标移动事件判断是否在地球上操作以及获取经纬度
- 如何编写开源项目的 README 文档
- linux 命令总结之tr命令
- SpringBoot 集成 logBack
- AntV-G6实现微服务拓扑图
- 装多系统的U盘启动盘的制作
- matlab如何多幅图统一一个颜色栏,每个图使用多个颜色图【含Matlab源码】
- 华为交换机Hybrid接口