python调用海康人脸相机登录等接口(开发环境Linux)
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)相关推荐
- python调用海康相机进行Apriltag检测
python调用海康相机进行Apriltag检测 第一章:win10下安装Apriltag库 1.安装Apriltag库 打开cmd输入 pip install pupil-apriltags 这个是 ...
- Python调用海康工业相机:包含相机参数修改、彩色原图显示(不失真)
[引言] 海康相机作为目前工业检测.视觉定位等领域应用较为广泛的国产品牌相机,其搭配有一套专用视觉软件VM,而在完成具有复杂场景.复杂任务的科研项目时依靠其VM算法平台提供的视觉算法往往无法满足项目要 ...
- python调用海康工业相机并用opencv显示(整体实现)
python语言调用海康机器人(hikrobotics)工业相机 系列文章目录 第一章 python调用海康工业相机并用opencv显示(整体实现) 第二章 python 调用海康工业相机图像获取方式 ...
- Python调用海康SDK进行车牌识别(动态链接库的方法—不通过swig)
由于公司项目需要,要通过Python取得海康相机识别到的车牌号,由于目前在办公室,无法进行实际测试,所以通过网络触发抓拍的方式来进行. 首先要下载海康官网的SDK示例,最开始从网上查找资料是通过swi ...
- python 调用海康工业相机调试后出现被占用问题
问题描述: 在使用海康工业网口相机开发过程中,调试阶段异常结束程序调试时,经常出现相机被占用的异常情况,无论是使用海康的客户端界面连接相机还是使用调试代码连接相机,都没有权限再次打开相机,需要相机断电 ...
- python调用海康网络摄像头,实时显示监控内容
用网线将海康威视摄像头与电脑连接在一起:(或者用交换机,在一个交换机下面) 海康摄像头的默认ip是192.168.1.64 效果:和通过海康摄像头网址效果一样 rtsp://用户名:密码@ip地址/S ...
- python调用海康sdk 数据类型
c++的 unsigned char指针,python格式为:POINTER(c_char) ok的项目:百度网盘里,HikSDKyv12View fRealDataCallBack_V30 = RE ...
- java调用海康人脸识别机5603的sdk的使用总结(四)
获取刷脸时间 首先登陆,具体步骤看第一篇. 想要获取刷脸时间,必须布防. 新建回调函数FMSGCallBack_V31,设置回调函数 boolean result = hCNetSDK.NET_DVR ...
- 调用海康工业相机图像获取方式之主动取流(getimagebuffer )
本文仅作记录!原文链接!:https://blog.csdn.net/qq_39570716/article/details/114304110 目录 一.使用前提 二.主动取流(官方例程说明) 1. ...
- Python 实现海康机器人工业相机 MV-CU060-10GM 的实时显示视频流及拍照功能
一.背景介绍 1.最近项目中需要给客户对接海康机器人工业相机 MV-CU060-10GM: 2.客户要求通过部署的管理平台,可以在页面上实现如下功能: 1)相机视频流开始预览: 2)相机视频流停止预览 ...
最新文章
- 十六、用信号量机制实现进程互斥、同步、前驱关系
- python爬虫文件代码大全-Python网络爬虫实战项目代码大全(长期更新,欢迎补充)...
- u-boot分析之启动简介(一)
- PowerDesigner16中的对象无效,不允许有扩展属性 问题的解决
- Swift基础语法 、 元组(Tuple)
- Leetcode题库796.旋转字符串(C++实现)
- rest api 可选参数_可选类型API
- java的et5_Javascript与java相同的3des加密(使用etdesede/CBC/PKCS5Padding )
- javaweb(08) jsp(了解)
- eclipse做html登录界面代码,在eclipse中怎麽编写一个登陆界面的代码,如新浪邮箱的登陆的? 爱问知识人...
- linux 动态加载日志,Linux动态显示文件内容-linux tailf命令详解-Linux tailf命令退出-嗨客网...
- 三级指标 主成分分析_一文看懂主成分分析(PCA)
- 3D家居设计展示系统
- Residual, BottleNeck, Inverted Residual, MBConv的解释和Pytorch实现
- 最新kali linux下完美安装和运行QQ的方法
- 【Python技能树共建】requests-html库初识
- 百度贴吧--------签到程序
- 非常不错的虚拟光驱工具- Windows虚拟光驱(Daemon Tools Lite)提供下载
- 如何在网页上做笔记?
- FFMEPEG+SDL2 多路音频采集播放