海康SDK配置以及 windows/linux下python接口的封装(swig)

本文详细介绍了如何配置海康摄像头SDK,包括Windows和Linux环境下Python接口的封装。在Windows下遇到IplImage*转化为Mat的问题,而在Mac下由于库不通用导致编译错误。文章提供了错误解决方案及RTSP协议的讨论,强调了实时流回调的重要性。
摘要由CSDN通过智能技术生成

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协议

存在一个很大的缺陷

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值