LabView 利用 SDK 调用海康摄像头
本文将介绍如何使用 LabView 调用海康威视摄像头,实现实时监控界面的预览、设备抓图及录像功能。通过借助官方提供的 SDK 开发包,调用 DLL 文件实现上述功能。
一、准备工作
软件环境:NI Labview 2019(Win32)
硬件环境:海康威视 DS 系列摄像头
海康威视 SDK 开发包(海康开放平台,注意与 Labview 版本匹配)
二、程序功能
1. 实现实时监控界面的预览
2. 实现设备抓图及录像功能
三、技术路线
借助于官方提供的 SDK 开发包,调用 DLL 文件实现上述功能。开发过程中需要注意以下几点:
1. 打开设备网络 SDK 使用手册,明确整个调用流程。
2. 明确 Labview 数据类型与 Windows 数据类型之间的对应关系。
3. 调用 DLL 并设置接口类型。
四、调用 DLL 并设置接口类型
a. 调用 NET_DVR_Init 函数(初始化 SDK,调用其他 SDK 函数的前提)
NET_DVR_Init 函数参数设置参照设备 SDK 开发手册,NET_DVR_Init 函数参数如下所示:
b. 调用 NET_DVR_Login_V40 函数(用户注册设备)
该函数参数较为复杂,换用其源函数 NET_DVR_Login_V30 实现该功能。
c. 调用 NET_DVR_RealPlay_V40 函数(实时预览)
该函数参数信息如下所示:
d. 调用 NET_DVR_StopRealPlay 函数(停止预览)
不再赘述。
e. 调用 NET_DVR_CaptureJPEGPicture 函数(单帧数据捕获并保存成 JPEG 图)
该函数参数信息如下所示:
f. 调用 NET_DVR_SaveRealData 函数(捕获数据并存放到指定的文件中)
该函数参数信息如下所示:
生成.mp4 文件需要调用 NET_DVR_StopSaveRealData 函数,具体配置信息不再赘述。
g. 调用 NET_DVR_Logout 函数(用户注销)
该函数参数信息如下所示:
h. 调用 NET_DVR_Cleanup 函数(释放 SDK 资源,在程序结束之前调用)
该函数参数信息如下所示:
五、结论
通过借助官方提供的 SDK 开发包,调用 DLL 文件实现了实时监控界面的预览、设备抓图及录像功能。开发过程中需要注意调用 DLL 文件的接口调用流程、Labview 数据类型与 Windows 数据类型之间的对应关系、调用 DLL 文件的参数设置等问题。
1