1.4_海康SDK
文章目录
0、海康摄像头SDK配置
1、捕获海康威视IPCamera图像,转成OpenCV可以处理的图像(二)
http://blog.csdn.net/wanghuiqi2008/article/details/31410509
2、opencv读取海康威视摄像头(可用)ipcamera
http://blog.csdn.net/shakevincent/article/details/51490197
3、SDK库文件和头文件配置
-
解压SDK可以得到头文件和库文件
-
在VC++目录中添加opencv的头文件包含路径和SDK中的头文件(修改“头文件”为“include”)
-
添加库文件:既要添加库文件lib也要把lib下的HCNetSDKCom文件包含进去
-
再链接器——输入——添加依赖项,把opencv的lib和SDK中的lib添加进去(包含HCNetSDKCom的lib)
-
Q1: HCNetSDK.h 中有个地方要加个空格
-
修改plaympeg4.h文件。在
extern "C" __declspec(dllexport)
的"C"
和__
之间需要增加空格,否则会导致编译报错。 -
Q2: HCNetSDK/lib 包括 HCNetSDKCom 中的dll 复制到windows/system32
4、调用dll:
.h, .lib, .dll 的路径分别放在包含目录,库目录(以及链接器-输入),windows/system32
VS 2015 DLL的创建、静态调用和动态调用
VS 2013环境生成和调用DLL动态链接库
1、得到海康对应参数
DWORD getFocusPos(NET_DVR_PREVIEWINFO struInfo) {
NET_DVR_FOCUSMODE_CFG *focusModeCfg = new NET_DVR_FOCUSMODE_CFG();//初始化PTZ基本参数结构体
LPVOID *ptr = new LPVOID();//接收数据的缓冲指针
//LPVOID ptr;
DWORD size = sizeof(focusModeCfg);//获取结构体空间大小
LPDWORD BytesReturned;// 实际收到的数据长度指针,不能为NULL
NET_DVR_GetDVRConfig(lUserID, NET_DVR_GET_FOCUSMODECFG, struInfo.lChannel, ptr, size, BytesReturned);//获取配置参数指针
focusModeCfg = (NET_DVR_FOCUSMODE_CFG *)ptr;
std::cout << "dwFocusPos:" << focusModeCfg->dwFocusPos << std::endl;
return focusModeCfg->dwFocusPos;
}
LPVOID *ptr = new LPVOID();
在堆上存储数据,适用于大容量的数据
LPVOID ptr;
在内存中开辟空间
2. rtsp协议
存在一个很大的缺陷