python调用海康威视C++的SDK

更新时间:2023-03-27

参考:
ciky奇
一万六++

当前版本:
python:3.7.0
opencv:3.4.1

所需库:
海康官网的sdk:CH-HCNetSDKV6.1.9.47_build20221111_win64
swigwin-4.0.2
boost_1_81_0
opencv-swig-master

1. 使用swig编译生成python和c++数据交换需要的.py和.cxx文件

opencv-swig-master\lib
在这里插入图片描述
当前路径cmd:
运行
swig -IE:\opencv\build\include -python -c++ HKIPcamera.i
(E:\opencv\build\include为opencv路径)
生成上图的2个文件。

2.生成动态链接库文件,dll

新建一个空项目,并配置以下依赖:include,lib
海康sdk
boost_1_81_0
opencv
python
在这里插入图片描述

链接器->输入->附加依赖项中添加:
HCNetSDK.lib
GdiPlus.lib
HCAlarm.lib
HCCore.lib
HCGeneralCfgMgr.lib
HCPreview.lib
PlayCtrl.lib
opencv_world341.lib

编译后生成:
HKIPcamera.dll
HKIPcamera.lib

新建一个文件夹:
把海康sdk的所有文件放置这里:
CH-HCNetSDKV6.1.9.47_build20221111_win64\库文件
然后放置生成的文件:

一共需要的是5个文件:

HKIPcamera.py(第一步生成的py文件)
_HKIPcamera.pyd(第二步HKIPcamera.dll改名为这个)
opencv_world341.dll(opencv依赖dll)

最后放2个openssl库,不加会报错:29
libeay32.dll
ssleay32.dll

调用例子:

import HK.HKIPcamera
import time
import numpy as np
import matplotlib.pyplot as plt
import cv2

ip = str('192.168.1.64')  # 摄像头IP地址,要和本机IP在同一局域网
name = str('admin')  # 管理员用户名-自己设置
pw = str('123456')  # 管理员密码-自己设置
ret = HK.HKIPcamera.init(ip, name, pw)
print(ret)
list = []
num = 1
t = time.time()
if ret:
    while (True):
        if time.time() - t > 60:
            break

        frame= HK.HKIPcamera.getframe()
        frame= np.array(frame)
        cv2.imshow('video', frame)
        # 按键盘的esc或者q退出
        if cv2.waitKey(27) & 0xFF == 27:
            break
    HK.HKIPcamera.release()
print('end')
print(len(list))

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值