最近一段时间要从海康摄像头读取数据,作为程序的输入源,c++版本有海康有自己的demo,较为简单,很容易就实现了,但是为我们其他的程序都是基于python的,因此,需要使用Python调用海康的c++ sdk。
其实海康sdk提供了C#、java等多种语言的demo,但是实际上,都是通过不同语言调用C++,因此本质只提供了C++的SDK。
使用python实现海康sdk二次开发-移动侦测事件的本质就是ctypes的使用
1.ctypes读入dll
2.ctypes与c++ python的数据对应
3. ctypes回调函数
该程序的Python的源代码已经打包,可以按照以下步骤直接使用
下载地址 (资源审核通过后更新)
下载地址
[1] 按照2.1配置摄像头
[2] 按照2.2下载海康sdk文件
[3] 修改tools下 HkAdapter的类变量dll_path指向下载的海康sdk文件夹下的<库文件>目录(最好将该文件夹下的所有文件复制到一个英文路径的文件夹下)
[4] 修改test.py文件下,main函数中的
userid = login(hksdk, "192.168.8.112", "admin", "hk123456")
中,参数一保持不变,参数2为自己的ip地址,参数3为登录用户名,参数4为登录密码。
[5] python test.py 运行程序
需要摄像头启用移动事件侦测。
从web登录海康摄像头,进入配置
从事件 -》普通事件找到移动侦测
点击启用移动侦测
绘制区域,使用红色网格线绘制目标区域
可以适当调节灵敏度
点击保存
选择区域设置的布防事件,测试时可以拉满 点击保存
选择联动方式
注意保证常规联动中的上传中心要被选中
至此,设置完成。
下载地址:
https://www.hikvision.com/cn/download_more_570.html
解压
最好将库文件夹,拷贝到一个独立的全英文的路径下,如,我这里使用
D:\Backup\solo\hkoython\dll
到此,所有的准确工作已经完成,可以进行二次开发了
我们下一章进行开发
链接:python实现海康sdk二次开发,移动侦测事件(二)