资源简介

在windous系统下Python实现海康相机登入、预览、抓图、光学变倍、相机激活、区域聚焦、区域曝光功能;linux系统下载相应的海康SDK,并将lib文件更换为相对应的库文件,同时将HCNetSDKCom文件夹拷贝出来(与lib文件夹同一级别)

资源截图

代码片段和文件信息

import numpy as np
import os
import ctypes


#获取所有的库文件到一个列表
path = “lib/win64/“
def file_name(file_dir):
    pathss=[]
    for root dirs files in os.walk(file_dir):
        for file in files:
          pathss.append(path+file)
    return pathss

dll_list=file_name(path)

lUserID = 0
lChannel=1
def callCpp(func_name*args):
    for HK_dll in dll_list:
        try:
            lib = ctypes.cdll.LoadLibrary(HK_dll)
            try:
                value = eval(“lib.%s“%func_name)(*args)
                # print(“调用的库:“+HK_dll)
                # print(“执行成功返回值:“+str(value))
                return value
            except:
                continue
        except:
            # print(“库文件载入失败:“+HK_dll)
            continue
    # print(“没有找到接口!“)
    return False

# region 登入
#定义登入结构体
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)]

#用户注册设备 并登入,需要修改IP账号、密码
def NET_DVR_Login_V30(sDVRIP = “192.168.1.65“wDVRPort = 8000sUserName = “admin“sPassword = “guoji123“):
    init_res = callCpp(“NET_DVR_Init“)#SDK初始化
    if init_res:
        print(“SDK初始化成功“)
        error_info = callCpp(“NET_DVR_GetLastError“)
    else:
        error_info = callCpp(“NET_DVR_GetLastError“)
        print(“SDK初始化错误:“ + str(error_info))
        return False

    set_overtime = callCpp(“NET_DVR_SetConnectTime“50004)#设置超时
    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“)
    print( “数据转化成功“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-09-07 13:45  HKCamer(区域聚焦)\
     目录           0  2018-09-07 13:45  HKCamer(区域聚焦)\.idea\
     文件         513  2018-07-04 14:36  HKCamer(区域聚焦)\.idea\HKCamer.iml
     目录           0  2018-09-21 10:28  HKCamer(区域聚焦)\.idea\inspectionProfiles\
     文件         302  2018-07-04 14:36  HKCamer(区域聚焦)\.idea\misc.xml
     文件         266  2018-07-04 14:34  HKCamer(区域聚焦)\.idea\modules.xml
     文件       37757  2018-08-25 11:20  HKCamer(区域聚焦)\.idea\workspace.xml
     文件       13279  2018-08-20 17:06  HKCamer(区域聚焦)\OpenCam.py
     目录           0  2018-09-07 13:45  HKCamer(区域聚焦)\doc\
     文件     6305074  2017-12-06 11:17  HKCamer(区域聚焦)\doc\设备网络SDK使用手册.chm
     目录           0  2018-09-07 13:45  HKCamer(区域聚焦)\incCn\
     文件        5078  2017-12-06 09:48  HKCamer(区域聚焦)\incCn\DataType.h
     文件       24475  2017-12-06 09:48  HKCamer(区域聚焦)\incCn\DecodeCardSdk.h
     文件     2200083  2017-12-06 09:48  HKCamer(区域聚焦)\incCn\HCNetSDK.h
     文件       32752  2017-12-06 09:48  HKCamer(区域聚焦)\incCn\plaympeg4.h
     目录           0  2018-09-07 13:45  HKCamer(区域聚焦)\lib\
     目录           0  2018-09-07 13:45  HKCamer(区域聚焦)\lib\win64\
     文件      134656  2017-12-06 09:48  HKCamer(区域聚焦)\lib\win64\AudioRender.dll
     文件     2526056  2017-12-06 09:48  HKCamer(区域聚焦)\lib\win64\D3DCompiler_43.dll
     文件      310272  2017-12-06 09:48  HKCamer(区域聚焦)\lib\win64\EagleEyeRender.dll
     文件     2166272  2017-12-06 09:48  HKCamer(区域聚焦)\lib\win64\GdiPlus.dll
     文件      216144  2017-12-06 09:48  HKCamer(区域聚焦)\lib\win64\GdiPlus.lib
     文件     1628672  2017-12-06 09:52  HKCamer(区域聚焦)\lib\win64\HCCore.dll
     文件      164140  2017-12-06 09:52  HKCamer(区域聚焦)\lib\win64\HCCore.lib
     文件      957440  2017-12-06 09:56  HKCamer(区域聚焦)\lib\win64\HCNetSDK.dll
     文件      204392  2017-12-06 09:56  HKCamer(区域聚焦)\lib\win64\HCNetSDK.lib
     目录           0  2018-09-07 13:45  HKCamer(区域聚焦)\lib\win64\HCNetSDKCom\
     文件      292864  2017-12-06 09:48  HKCamer(区域聚焦)\lib\win64\HCNetSDKCom\AnalyzeData.dll
     文件      368128  2017-12-06 09:48  HKCamer(区域聚焦)\lib\win64\HCNetSDKCom\AudioIntercom.dll
     文件      599040  2017-12-06 09:54  HKCamer(区域聚焦)\lib\win64\HCNetSDKCom\HCAlarm.dll
     文件       13960  2017-12-06 09:54  HKCamer(区域聚焦)\lib\win64\HCNetSDKCom\HCAlarm.lib
............此处省略461个文件信息

评论

共有 条评论