海康威视网络摄像头SDK中Demo的二次开发(运行)

如有问题请邮件联系:2018@yinjinjing.cn

我们买回来的网络摄像头可以在官网下载到SDK开发包:

下载下来SDK后我们解压,就可以看到里面包含一些开发文档以及一些Demo示例:

我们点开Demo示例,可以看到里面有各种语言的示例,这里我们以MFC为例进行说明:

这里,我们需要注意阅读编译环境说明:

其中,MFC综合示例是没有问题的,我们直接导入头文件和库文件就可以运行,但是对于分功能的示例就存在一些问题,这里我们就以分功能中的第一个为例进行演示:

由于电脑上没有安装VS2008,所以这里无视环境,直接用VS2013单向升级后打开:

打开后我们首先要进行一个地方的修改,这是SDK文档的一个失误,就是输出目录不一致,这会直接导致后面执行的出错:

这里我们选择修改配置属性→常规→输出目录(两个保持一致即可),修改为:

.\bin\

接下来我们进行文件的导入,这里需要选择Debug x64,这个的选择和你下载的SDK以及你的系统有关:

右击属性,填入我们头文件的路径:

修改完成后记得点应用,同样的操作我们再添加库文件:

这是我们一定记得选择Debug为x64,否则会各种报错:

紧接着我们生成运行:

提示缺少DLL文件,这时我们把这些文件按照SDK说明文档的做法复制到bin目录下即可正常运行:

注:一定不要漏赋值,否则会造成后面程序运行出错

我们填好我们在相机激活的时候的配置信息之后,就可以顺利使用官方给的Demo了:


附1:如果你需要对摄像机的图像进行抓图并显示到程序页面上,请参考:

基于MFC海康威视摄像头Demo(含抓图显示|不含云台)

效果如图所示:


附2:如果你需要对抓取的图片做图像处理:

请参考:海康威视图像处理Demo

效果如图所示:


附3:如果你需要海康威视相机标定的示例

请参考:海康威视标定DEMO

效果如图所示:


附4:如果你需要视频的多路播放(连接多个相机,用于双目或者多目的开发)

请下载: 海康威视多目Demo

需要详细的说明请参考:海康威视多路播放博客

效果如图所示:


附5:如果你需要对摄像头返回图像的文字,时间,叠加进行更改:

请参考:海康威视摄像机OSD设置、字符叠加(时间,通道名称)

效果如图所示:


附6:如果我们需要在三维重建前进行一个物体的识别并针对特定物体进行优化(此部分博主尚未实现,仅是一种思路,欢迎有比较好的想法的读者可以私信或留言给博主指导!):

请参考:物体识别,Win7下运行TensorFlow Object Detection API详细版教程(零基础操作)


附7:如果你需要利用双目或多目摄像机进行三维重建,达到如下的效果图,请参考博客:双目三维重建—基于特征点匹配的被动式三维重建(OpenCV+OpenGL)

和摄像头SDK相连的程序,如图二所示的程序代码还在整理中,如果您有需要请关注博主博客


 附8:如果你还没有选购网络摄像头或者不知道如何选择网络摄像头,请参考博客:海康威视网络摄像头购买指南(焦距&像素等参数)


  附9:如果您已经购买了网络摄像机但是不知道如何首次激活使用,请参考博客:海康威视摄像头初始化设置(新相机的第一次配置&相机恢复出厂设置)


 附10:如果您需要制作海康威视+OpenCV的播放器,请下载Demo:海康威视+OpenCV播放器(具体博文尚在整理中)


 附11:如果您需要进一步附7所示的改进双目三维重建算法的效果,可以参考 :一种基于主体识别技术的三维重建改进算法

传统三维重建算法效果图:

改进后三维重建算法效果图:

 

  • 86
    点赞
  • 639
    收藏
    觉得还不错? 一键收藏
  • 122
    评论
### 回答1: 要在Windows下使用Python调用海康威视网络摄像头SDK,可以按照以下步骤操作: 1. 安装海康威视网络摄像头SDK:首先,从海康威视官方网站下载并安装最新版本的SDK。确保SDK与你的Python版本兼容。 2. 设置环境变量:打开控制面板,进入系统属性,点击“高级系统设置”,选择“环境变量”。在系统变量,找到“Path”变量,并将SDK的安装路径添加到该变量。这样Python才能找到SDK的库文件。 3. 安装Python的海康威视SDK库:通过pip安装Python的海康威视SDK库,可以在命令提示符运行以下命令: ``` pip install hikvisionapi ``` 这样就能将海康威视SDK库安装到Python环境。 4. 使用Python调用SDK:在Python脚本导入SDK库并使用其的函数和类来调用摄像头功能。例如,你可以使用SDK提供的函数初始化摄像头设备、打开视频流、进行图像处理等操作。 需要注意的是,在使用SDK之前,你需要先了解SDK提供的函数和类的使用方法。可以参考SDK的官方文档或样例代码来了解如何正确地调用SDK的各项功能。 总之,通过安装SDK、设置环境变量、安装Python的SDK库,并使用Python脚本来调用SDK的函数和类,你就能在Windows下使用Python调用海康威视网络摄像头SDK了。 ### 回答2: 在Windows操作系统下,可以使用Python调用海康威视网络摄像头SDK来实现摄像头的控制和影像数据的获取。下面是一个简单的示例代码: 首先,确保已经安装了Python和相应的海康威视网络摄像头SDK。 ```python # 导入相关库 from ctypes import * # 加载SDK的动态链接库 hk_sdk = cdll.LoadLibrary('hk_sdk.dll') # 设置登录参数 addr = b'IP地址' # 摄像头的IP地址 port = 8000 # 摄像头的端口号 user = b'用户名' # 登录用户名 password = b'密码' # 登录密码 # 登录摄像头 login_info = hk_sdk.NET_DVR_USER_LOGIN_INFO() # 定义登录信息结构体 login_info.sDeviceAddress = addr # 摄像头的IP地址 login_info.wPort = port # 摄像头的端口号 login_info.sUserName = user # 登录用户名 login_info.sPassword = password # 登录密码 login_info.cbLoginResult = None # 登录结果回调函数 login_info.pUser = None # 用户参数 lUserID = hk_sdk.NET_DVR_Login_V40(byref(login_info), None) # 调用登录函数,获取登录ID # 检查登录是否成功 if lUserID < 0: print('设备登录失败') hk_sdk.NET_DVR_Cleanup() # 释放资源 else: print('设备登录成功') # 进行相关操作,如实时预览或录像等 # 登出摄像头 hk_sdk.NET_DVR_Logout_V30(lUserID) hk_sdk.NET_DVR_Cleanup() # 释放资源 ``` 以上代码首先通过`cdll.LoadLibrary()`函数加载SDK的动态链接库。然后创建一个`NET_DVR_USER_LOGIN_INFO`结构体,并设置登录参数,包括IP地址、端口号、用户名和密码。接着调用`NET_DVR_Login_V40()`函数进行登录,并获取登录ID。如果登录成功,则可以进行相关操作,如实时预览或录像等。最后,调用`NET_DVR_Logout_V30()`函数登出摄像头,并使用`NET_DVR_Cleanup()`函数释放资源。 需要注意的是,具体的操作和功能需根据海康威视网络摄像头SDK的文档进行相关配置和调用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 122
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值