python调用海康SDK存在几个问题,一是海康官方没有python技术支持,二是海康SDK涉及到的参数传递特

别多,因此不建议直接用python调用海康SDK,最好是直接修改海康的C++demo,然后编译成可执行程序或者

动态库供python调用,下面的登录接口是python直接调用海康的SDK库进行登录的

海康的库主要放在lib下,在使用海康的库函数的时候,因为不知道该函数是在哪个库里面,所以我直接采用了

遍历库的办法去执行程序

import os
import ctypes
#获取所有的库文件到一个列表
path = "/home/caobin/chike/chike/CH_HCNetSDK_V5.2.7.4_build20170606_Linux64/lib/"
so_list = []
def add_so(path,so_list):files = os.listdir(path)for file in files:if not os.path.isdir(path+file):if file.endswith(".so"): so_list.append(path+file)else:add_so(path+file+"/",so_list)
add_so(path,so_list)for lib in so_list:print(lib)lUserID = 0
m_lAlarmHandle = 0
def callCpp(func_name,*args):for so_lib in so_list:# print(so_lib)
        try:lib = ctypes.cdll.LoadLibrary(so_lib)try:value = eval("lib.%s"%func_name)(*args)print("调用的库:"+so_lib)print("执行成功,返回值:"+str(value))return valueexcept:continue
        except:print("库文件载入失败:"+so_lib)continue
    print("没有找到接口!")return False

#定义结构体
class LPNET_DVR_DEVICEINFO_V30(ctypes.Structure):_fields_ = [("sSerialNumber", ctypes.c_byte * 48),("byAlarmInPortNum", ctypes.c_byte),("byAlarmOutPortNum", ctypes.c_byte),("byDiskNum", ctypes.c_byte),("byDVRType", ctypes.c_byte),("byChanNum", ctypes.c_byte),("byStartChan", ctypes.c_byte),("byAudioChanNum", ctypes.c_byte),("byIPChanNum", ctypes.c_byte),("byZeroChanNum", ctypes.c_byte),("byMainProto", ctypes.c_byte),("bySubProto", ctypes.c_byte),("bySupport", ctypes.c_byte),("bySupport1", ctypes.c_byte),("bySupport2", ctypes.c_byte),("wDevType", ctypes.c_uint16),("bySupport3", ctypes.c_byte),("byMultiStreamProto", ctypes.c_byte),("byStartDChan", ctypes.c_byte),("byStartDTalkChan", ctypes.c_byte),("byHighDChanNum", ctypes.c_byte),("bySupport4", ctypes.c_byte),("byLanguageType", ctypes.c_byte),("byVoiceInChanNum", ctypes.c_byte),("byStartVoiceInChanNo", ctypes.c_byte),("byRes3", ctypes.c_byte * 2),("byMirrorChanNum", ctypes.c_byte),("wStartMirrorChanNo", ctypes.c_uint16),("byRes2", ctypes.c_byte * 2)]#用户注册设备
def NET_DVR_Login_V30(sDVRIP = "192.168.1.63",wDVRPort = 8000,sUserName = "admin",sPassword = "guoji123"):init_res = callCpp("NET_DVR_Init")#SDK初始化
    if init_res:print("SDK初始化成功")else:error_info = callCpp("NET_DVR_GetLastError")print("SDK初始化错误:" + str(error_info))return False

    set_overtime = callCpp("NET_DVR_SetConnectTime",5000,4)#设置超时
    if set_overtime:print("设置超时时间成功")else:error_info = callCpp("NET_DVR_GetLastError")print("设置超时错误信息:" + str(error_info))return False

    #用户注册设备
    #c++传递进去的是byte型数据,需要转成byte型传进去,否则会乱码
    sDVRIP = bytes(sDVRIP,"ascii")sUserName = bytes(sUserName,"ascii")sPassword = bytes(sPassword,"ascii")DeviceInfo = LPNET_DVR_DEVICEINFO_V30()DeviceInfoRef = ctypes.byref(DeviceInfo)lUserID = callCpp("NET_DVR_Login_V30",sDVRIP,wDVRPort,sUserName,sPassword,DeviceInfoRef)print("登录结果:"+str(lUserID))if lUserID == -1:error_info = callCpp("NET_DVR_GetLastError")print("登录错误信息:" + str(error_info))return error_infoelse:return lUserIDNET_DVR_Login_V30()

python调用海康人脸相机登录等接口(开发环境Linux)相关推荐

  1. python调用海康相机进行Apriltag检测

    python调用海康相机进行Apriltag检测 第一章:win10下安装Apriltag库 1.安装Apriltag库 打开cmd输入 pip install pupil-apriltags 这个是 ...

  2. Python调用海康工业相机:包含相机参数修改、彩色原图显示(不失真)

    [引言] 海康相机作为目前工业检测.视觉定位等领域应用较为广泛的国产品牌相机,其搭配有一套专用视觉软件VM,而在完成具有复杂场景.复杂任务的科研项目时依靠其VM算法平台提供的视觉算法往往无法满足项目要 ...

  3. python调用海康工业相机并用opencv显示(整体实现)

    python语言调用海康机器人(hikrobotics)工业相机 系列文章目录 第一章 python调用海康工业相机并用opencv显示(整体实现) 第二章 python 调用海康工业相机图像获取方式 ...

  4. Python调用海康SDK进行车牌识别(动态链接库的方法—不通过swig)

    由于公司项目需要,要通过Python取得海康相机识别到的车牌号,由于目前在办公室,无法进行实际测试,所以通过网络触发抓拍的方式来进行. 首先要下载海康官网的SDK示例,最开始从网上查找资料是通过swi ...

  5. python 调用海康工业相机调试后出现被占用问题

    问题描述: 在使用海康工业网口相机开发过程中,调试阶段异常结束程序调试时,经常出现相机被占用的异常情况,无论是使用海康的客户端界面连接相机还是使用调试代码连接相机,都没有权限再次打开相机,需要相机断电 ...

  6. python调用海康网络摄像头,实时显示监控内容

    用网线将海康威视摄像头与电脑连接在一起:(或者用交换机,在一个交换机下面) 海康摄像头的默认ip是192.168.1.64 效果:和通过海康摄像头网址效果一样 rtsp://用户名:密码@ip地址/S ...

  7. python调用海康sdk 数据类型

    c++的 unsigned char指针,python格式为:POINTER(c_char) ok的项目:百度网盘里,HikSDKyv12View fRealDataCallBack_V30 = RE ...

  8. java调用海康人脸识别机5603的sdk的使用总结(四)

    获取刷脸时间 首先登陆,具体步骤看第一篇. 想要获取刷脸时间,必须布防. 新建回调函数FMSGCallBack_V31,设置回调函数 boolean result = hCNetSDK.NET_DVR ...

  9. 调用海康工业相机图像获取方式之主动取流(getimagebuffer )

    本文仅作记录!原文链接!:https://blog.csdn.net/qq_39570716/article/details/114304110 目录 一.使用前提 二.主动取流(官方例程说明) 1. ...

  10. Python 实现海康机器人工业相机 MV-CU060-10GM 的实时显示视频流及拍照功能

    一.背景介绍 1.最近项目中需要给客户对接海康机器人工业相机 MV-CU060-10GM: 2.客户要求通过部署的管理平台,可以在页面上实现如下功能: 1)相机视频流开始预览: 2)相机视频流停止预览 ...

最新文章

  1. 十六、用信号量机制实现进程互斥、同步、前驱关系
  2. python爬虫文件代码大全-Python网络爬虫实战项目代码大全(长期更新,欢迎补充)...
  3. u-boot分析之启动简介(一)
  4. PowerDesigner16中的对象无效,不允许有扩展属性 问题的解决
  5. Swift基础语法 、 元组(Tuple)
  6. Leetcode题库796.旋转字符串(C++实现)
  7. rest api 可选参数_可选类型API
  8. java的et5_Javascript与java相同的3des加密(使用etdesede/CBC/PKCS5Padding )
  9. javaweb(08) jsp(了解)
  10. eclipse做html登录界面代码,在eclipse中怎麽编写一个登陆界面的代码,如新浪邮箱的登陆的? 爱问知识人...
  11. linux 动态加载日志,Linux动态显示文件内容-linux tailf命令详解-Linux tailf命令退出-嗨客网...
  12. 三级指标 主成分分析_一文看懂主成分分析(PCA)
  13. 3D家居设计展示系统
  14. Residual, BottleNeck, Inverted Residual, MBConv的解释和Pytorch实现
  15. 最新kali linux下完美安装和运行QQ的方法
  16. 【Python技能树共建】requests-html库初识
  17. 百度贴吧--------签到程序
  18. 非常不错的虚拟光驱工具- Windows虚拟光驱(Daemon Tools Lite)提供下载
  19. 如何在网页上做笔记?
  20. FFMEPEG+SDL2 多路音频采集播放

热门文章

  1. 下载离线aptana的eclipse插件
  2. EDA365 V2.5下载
  3. CAS单点登录系列之原理简单介绍
  4. 前端实现html转pdf方法总结
  5. LoadRunner压力测试:测试报告
  6. Navicat 数据库可视化工具远程连接MySQL及基本操作
  7. 线性代数学习指导与MATLAB编程实践,21世纪高等理工科重点课程辅导丛书:线性代数学习指导与MATLAB编程实践...
  8. 希尔伯特变换(matlab)
  9. 一文看懂人工智能行业
  10. Win10如何为命令提示符增加输入命令获取管理员权限功能?